ホームページ  >  に質問  >  本文

MySQL テーブルに複数の行を挿入して新しい ID を返すにはどうすればよいですか?

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

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

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

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

P粉373990857P粉373990857177日前299

全員に返信(2)返信します

  • P粉561438407

    P粉5614384072024-04-07 09:07:17

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

    また、

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

    返事
    0
  • P粉775723722

    P粉7757237222024-04-07 00:12:23

    古いスレッドですが、調べてみたのでここにあります: 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
  • キャンセル返事