猿问

_INSERT_ID()MySQL

_INSERT_ID()MySQL

我有一个MySQL问题,我认为这个问题一定很简单。在运行以下MySQL查询时,需要从表1返回最后插入的ID:

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

正如您所理解的,当前代码将只返回表2的最后一个插入ID,而不是表1,即使在表2之间插入到表2中,我如何从表1获得id?


杨魅力
浏览 426回答 3
3回答

开满天机

可以将最后一个INSERT ID存储在变量中: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);或者得到最大id ffm表1INSERT INTO table1 (title,userid) VALUES ('test', 1); INSERT INTO table2 (parentid,otherid,userid) VALUES (LAST_INSERT_ID(), 4, 1); SELECT MAX(id) FROM table1;
随时随地看视频慕课网APP

相关分类

MySQL
我要回答