mysql - 如何在 MySQL 的 PROCEDURE 中使用新插入记录的 id?

标签 mysql sql stored-procedures

例如,我有一个 users 表和一个 waitingUsers 表: 他们是这样工作的:

`Users`:
id
name

`WaitingUsers`:
id
user_id

UsersWaitingUsers 的 id 都是自增的。 我想有一个 PROCEDURE 来创建用户,新的 id 在用户创建后生成,并使用它插入到 waitingUsers。我该怎么做?谢谢。

最佳答案

试试这个,

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 ;

关于mysql - 如何在 MySQL 的 PROCEDURE 中使用新插入记录的 id?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14333909/

相关文章:

php - 验证组中特定且唯一的一组值

mysql - 支持 LIST COLUMNS 分区的 MySQL 最低版本

sql - MySQL 中的数据库复制比 `mysqldump` 更快?

c# - 存储过程中的多值日期参数?

Mysql存储过程使用游标返回null

mysql - 连接表 : case statement for no matches?

Mysql JDBC Short 和 Integer 之间的转换 : not supported?

mysql - 在 Symfony 中根据日期和 count() 获取 mysql 结果

正则表达式中的php变量?

sql - 在 'in' 子句的存储过程中使用 MySQL 用户定义变量