Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

LAST_INSERT_ID() MySQL


Você pode armazenar o último ID de inserção em uma variável:
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);    

Ou obtenha o id máximo da tabela1 (EDIT:Aviso. Veja a nota nos comentários de Rob Starling sobre possíveis erros de condições de corrida ao usar o id máximo)
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;  

(Aviso:como Rob Starling aponta no