Mysql
 sql >> Database >  >> RDS >> Mysql

Come posso inserire molte righe in una tabella MySQL e restituire i nuovi ID?

Vecchio thread ma ho appena esaminato questo, quindi ecco qui:se stai usando InnoDB su una versione recente di MySQL, puoi ottenere l'elenco degli ID usando LAST_INSERT_ID() e ROW_COUNT() .

InnoDB garantisce numeri sequenziali per AUTO INCREMENT quando si eseguono inserimenti in blocco, a condizione che innodb_autoinc_lock_mode è impostato su 0 (tradizionale) o 1 (consecutivo). Di conseguenza puoi ottenere il primo ID da LAST_INSERT_ID() e l'ultimo aggiungendo ROW_COUNT()-1 .