sql >> Databasteknik >  >> RDS >> Mysql

Hur kan jag infoga många rader i en MySQL-tabell och returnera de nya ID:n?

Gammal tråd men har precis tittat på det här, så här går det:om du använder InnoDB på en ny version av MySQL kan du få listan över ID:n med LAST_INSERT_ID() och ROW_COUNT() .

InnoDB garanterar sekventiella nummer för AUTO INCREMENT när du gör massinsättningar, förutsatt att innodb_autoinc_lock_mode är inställd på 0 (traditionell) eller 1 (konsekutiv). Följaktligen kan du få den första ID från LAST_INSERT_ID() och den sista genom att lägga till ROW_COUNT()-1 .



  1. Postgres:vakuumkommandot rensar inte upp döda tuplar

  2. Installera pdo för postgres Ubuntu

  3. CodeIgniter:Det går inte att ansluta till din databasserver med de angivna inställningarna Felmeddelande

  4. Konvertera NULL-värden till kolumnens standardvärde när du infogar data i SQLite