[解決済み] MySQLの挿入クエリから新しいレコードの主キーIDを取得する?
2022-03-17 23:58:46
質問
例えば、私がMySQLの
INSERT
をあるテーブルに挿入し、そのテーブルのカラムが
item_id
に設定されている
autoincrement
と
primary key
.
新しく生成された主キーの値をクエリに出力させるにはどうすればよいですか
item_id
を同じクエリで使用できますか?
現在、私はidを取得するために2つ目のクエリを実行していますが、これが間違った結果を生むかもしれないことを考えると、良い方法とは思えません...。
もしこれが不可能なら、正しいIDを確実に取得するためのベストプラクティスは何でしょうか?
どのように解決するのですか?
を使用する必要があります。
LAST_INSERT_ID()
関数を使用します。
http://dev.mysql.com/doc/refman/5.0/en/information-functions.html#function_last-insert-id
Eg:
INSERT INTO table_name (col1, col2,...) VALUES ('val1', 'val2'...);
SELECT LAST_INSERT_ID();
これで
PRIMARY KEY
の最後の行の値です。
あなた
を挿入した。
生成されたIDは、サーバーで管理されている 接続ごとに . つまり、この関数がクライアントに返す値は、 AUTO_INCREMENT カラムに影響を与える最新のステートメントに対して生成された最初の AUTO_INCREMENT 値であることを意味します。 そのクライアントが .
で返される値は
LAST_INSERT_ID()
はユーザー単位であり
を使用することができます。
サーバー上で実行されている他のクエリによって
他のユーザーから
.
関連
-
MySQLのNULLについて解説した記事
-
Mysqlデータベースの手動および定期的なバックアップ手順
-
MysqlからElasticsearchにデータを同期させる方法を説明します。
-
[解決済み】マルチパート識別子をバインドできませんでした。
-
SQLException。オペランドは1列でなければなりません。
-
[解決済み] INNER JOIN、LEFT JOIN、RIGHT JOIN、FULL JOINの違いは何ですか?[重複しています]。
-
[解決済み] MySQLでコマンドラインを使用してユーザーアカウントのリストを取得するにはどうすればよいですか?
-
[解決済み] 各グループの最後のレコードを取得する - MySQL
-
[解決済み] MySQLデータベースのテーブルのサイズを取得する方法は?
-
[解決済み】MySQLで主キーは自動的にインデックス化されるのか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
MySQLデータベース・インデックスの左端一致の原則
-
MySQLのLike演算子に関する詳細
-
mysqlにおけるvarcharの日付比較とソートの実装
-
MySQLとOracleの一括挿入SQLの汎用的な記述例
-
MySQLはこのようなUpdateステートメントを書くべきではありません
-
[解決済み】MySQL - オペランドは1つのカラムを含む必要があります。
-
[解決済み】SQLサーバーのテンポラリーテーブルで「すでに名前のついたオブジェクトがあります」エラーが発生する。
-
Unknown character set.を解決する。MySQLデータベースインポート時の'utf8mb4'エラーの解消
-
[解決済み] MySQLのAUTO_INCREMENTをリセットする方法
-
[解決済み] PHP/MySQL で行を挿入したら 'id' を取得する