sql >> Database >  >> RDS >> Mysql

LAST_INSERT_ID() MijnSQL

Je zou de laatste invoeg-ID in een variabele kunnen opslaan:

INSERT INTO table1 (title,userid) VALUES ('test', 1); 
SET @last_id_in_table1 = LAST_INSERT_ID();
INSERT INTO table2 (parentid,otherid,userid) VALUES (@last_id_in_table1, 4, 1);    

Of haal de max id uit table1 (EDIT:Waarschuwing. Zie opmerking in opmerkingen van Rob Starling over mogelijke fouten van raceomstandigheden bij gebruik van de max id)

INSERT INTO table1 (title,userid) VALUES ('test', 1); 
INSERT INTO table2 (parentid,otherid,userid) VALUES (LAST_INSERT_ID(), 4, 1); 
SELECT MAX(id) FROM table1;  

(Waarschuwing:zoals Rob Starling aangeeft in de



  1. Oracle:Selecteer uit recordgegevenstype

  2. Ontdek op welk besturingssysteem SQL Server wordt uitgevoerd (T-SQL-voorbeeld)

  3. Wat doet pg_escape_string precies?

  4. Indexen in MySQL begrijpen:deel drie