[解決済み] MySQLのテーブルに多くの行を挿入して、新しいIDを返すにはどうすればよいですか?
2023-05-10 06:03:08
質問
通常、MySQL テーブルに行を挿入して
last_insert_id
を返します。しかし、今、私はテーブルに多くの行を一括挿入し、ID の配列を取得したいのです。誰かこれを行う方法を知っていますか?
似たような質問がいくつかありますが、全く同じではありません。私は新しいIDを任意の一時的なテーブルに挿入したいわけではなく、IDの配列を取得したいだけです。
一括挿入から lastInsertId を取得することはできますか?
Mysql の last_insert_id() による複数行の挿入-選択ステートメント。
どのように解決するのですか?
古いスレッドですが、ちょうどこれを調べたところなので、ここで説明します。最近のバージョンの MySQL で InnoDB を使用している場合、ID のリストを取得するには、次のようにします。
LAST_INSERT_ID()
と
ROW_COUNT()
.
InnoDBは、バルク挿入を行う際にAUTO INCREMENTの連番を保証していますが、以下の条件があります。
innodb_autoinc_lock_mode
が0(従来型)または1(連続型)に設定されている場合に限ります。
その結果、あなたは
最初
からIDを取得できます。
LAST_INSERT_ID()
と
最後の
を追加することで
ROW_COUNT()-1
.
関連
-
MySQLで正規表現を使う 詳細
-
[解決済み] MySQLでコマンドラインを使用してSQLファイルをインポートするにはどうすればよいですか?
-
[解決済み] MySQLの複数行を1つのフィールドに連結することはできますか?
-
[解決済み] MySQLでコマンドラインを使用してユーザーアカウントのリストを取得するにはどうすればよいですか?
-
[解決済み] MySQLのクエリ結果をCSV形式で出力するにはどうすればよいですか?
-
[解決済み] MySQLテーブルへの挿入または存在する場合の更新
-
[解決済み] MySQLで'insert if not exists'を行うにはどうしたらいいですか?
-
[解決済み] CSVファイルをMySQLのテーブルにインポートするには?
-
[解決済み】MySQLでSELECT文を使ってテーブル名を取得する。
-
[解決済み】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のデータバックアップにmysqldumpを使用する方法
-
MySQL Innodb インデックスメカニズム詳細解説
-
Mysqlデータベースの手動および定期的なバックアップ手順
-
MysqlからElasticsearchにデータを同期させる方法を説明します。
-
面接では選択式で聞かれましたが......。.for updateはテーブルをロックするか、行をロックするか?
-
[解決済み] datetimeの挿入時に文字列から日付や時刻を変換すると、変換に失敗する
-
[解決済み】マルチパート識別子をバインドできない
-
[解決済み] SQLエラー。ORA-01861:リテラルは、フォーマット文字列01861に一致しません。
-
Mysqlデータベースへのリンク時にpymysqlがConnection refusedエラーを報告する
-
CMakeエラー。ソースディレクトリ "/xxx/mysql-5.6.21" に CMakeLists.txt がないようです。