sql >> データベース >  >> RDS >> Mysql

mysql複数行の挿入-last_insert_id()を使用したselectステートメント

    最後のクエリには、これを使用します

    INSERT INTO dbNEW.`user` (userID, entityID, other)  
    SELECT user_id, entityID, other
    FROM
    (
        SELECT user_id, @key + @rn entityID, other, @rn := @rn + 1
        FROM (select @rn:=0) x, dbOLD.`user`
        order by user_id
    ) y;
    

    MySQLのLAST_INSERT_ID()は、最後のIDであるSQL ServerのSCOPE_IDENTITY()とは異なり、バッチで作成された最初のIDです。これが最初なので、変数@rnを使用して、addition=0から開始して各行をインクリメントします。 最初の行。



    1. pdoを使用して行IDをフェッチできません

    2. MySQLで重複レコードを見つける方法

    3. MySQL8の構成

    4. general_logテーブルを削除しましたが、どうすれば再作成できますか?