如何在MySQL PROCEDURE中使用新插入的记录ID?

时间:2013-01-15 08:41:27

标签: mysql sql stored-procedures

例如,我有一个users表和waitingUsers表: 他们的工作方式如下:

`Users`:
id
name

`WaitingUsers`:
id
user_id

UsersWaitingUsers的ID都是自动增量。 我希望有一个PROCEDURE来创建用户,并在创建用户后生成新的id,并使用它插入waitingUsers。我怎么能这样做?感谢。

1 个答案:

答案 0 :(得分:3)

尝试这个,

DELIMITER $$
CREATE PROCEDURE InsertRecord(IN _name VARCHAR(30))
BEGIN
    INSERT INTO Users VALUES (_name);
    INSERT INTO WaitingUsers VALUES (LAST_INSERT_ID());
END $$
DELIMITER ;

DELIMITER $$
CREATE PROCEDURE InsertRecord(IN _name VARCHAR(30))
BEGIN
    INSERT INTO Users (id, Name) VALUES (NULL, _name);
    INSERT INTO WaitingUsers (id, user_id) VALUES (NULL, LAST_INSERT_ID());
END $$
DELIMITER ;