MySQL テーブルに複数の行を挿入して新しい ID を返すにはどうすればよいですか?
P粉373990857
P粉373990857 2024-04-06 10:03:44
0
2
433

通常、MySQL テーブルに行を挿入し、 last_insert_id を取得できます。しかし今、テーブルに多くの行を一括挿入して ID の配列を取得したいと考えています。誰かこれを行う方法を知っていますか?

似たような質問がいくつかありますが、まったく同じではありません。新しい ID を一時テーブルに挿入するのではなく、ID の配列を取得したいだけです。

一括挿入から lastInsertId を取得できますか?

last_insert_id() を使用した Mysql の複数行挿入選択ステートメント

P粉373990857
P粉373990857

全員に返信(2)
P粉561438407

私が考える唯一の方法は、挿入された行のセットごとに一意の識別子 (GUID) を保存することです 次に行IDを選択します。 例えば:### リーリー

また、

uuid() を使用して、データベースに guid を生成することもできます。

いいねを押す +0
P粉775723722

古いスレッドですが、調べてみたのでここにあります: MySQL の最新バージョンで InnoDB を使用している場合は、LAST_INSERT_ID()ROW_COUNT( ) ID リスト。

innodb_autoinc_lock_mode が 0 (レガシー) または 1 (継続) に設定されている場合、InnoDB は一括挿入を行うときに自動的に増加するシーケンス番号を保証します。 したがって、LAST_INSERT_ID() から first ID を取得し、ROW_COUNT()-1 を追加することで last ID を取得できます。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート