Mysql获取特定表的最后一个id

sim*_*mon 14 php mysql sql insert last-insert-id

我必须从特定的插入表中获取最后一个插入ID?让我说我有这个代码:

INSERT INTO blahblah (test1, test 2) VALUES ('test1', 'test2');
INSERT INTO blahblah2 (test1, test 2) VALUES ('test1', 'test2');
INSERT INTO blahblah3 (test1, test 2, lastid) VALUES ('test1', 'test2', last id of blahblah);
Run Code Online (Sandbox Code Playgroud)

如何在表blahblah3中获取表blahblah的插入ID?LAST_INSERT_ID()仅为您提供最后一个插入ID

问候,西蒙:)

Sah*_*hah 15

您可以使用LAST_INSERT_ID()函数.试试这个:

INSERT INTO blahblah (test1, test2) VALUES ('test1', 'test2');

SELECT LAST_INSERT_ID() INTO @blahblah;

INSERT INTO blahblah2 (test1, test2) VALUES ('test1', 'test2');

INSERT INTO blahblah3 (test1, test2, lastid) VALUES ('test1', 'test2', @blahblah);
Run Code Online (Sandbox Code Playgroud)


x4r*_*f41 13

这是你想要的?

SELECT id FROM blahblah ORDER BY id DESC LIMIT 1
Run Code Online (Sandbox Code Playgroud)


flu*_*flu 9

如果您想在单个语句中执行此操作,请使用:

INSERT INTO blahblah3 (test1, test2, lastid)
VALUES ('test1', 'test2', (select MAX(id) FROM blahblah));
Run Code Online (Sandbox Code Playgroud)

这样您就不需要事先保存任何变量,这样可以确保您在该时刻获得最新的ID.