sql >> Databasteknik >  >> RDS >> Mysql

Mysql multipel rad insert-select-sats med last_insert_id()

För den sista frågan, använd denna

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;

LAST_INSERT_ID() i MySQL är det FÖRSTA ID:t som skapas i en batch, till skillnad från SCOPE_IDENTITY() i SQL Server som är det SISTA ID:t. Eftersom det är den första, ökar vi varje rad med variabeln @rn, med början på addition=0 för första raden.



  1. Oracle DB:Hur kan jag skriva fråga som ignorerar skiftläge?

  2. Ta bort kolumnrubrik i utdatatextfilen

  3. Hur kan jag göra två villkor i att ha klausul

  4. Android :Hur man går med i barnbordet med föräldrabordet Sqlite