php - 如何在MySQL过程中返回最后插入的id

标签 php mysql procedure

我使用用户注册程序

DELIMITER //
CREATE PROCEDURE `regist`(IN login VARCHAR(20), IN password VARCHAR(32), IN ip VARCHAR(15))
BEGIN
INSERT INTO `users` (`login`, `password`, `ip`) VALUES (login, password, ip);
END
//
DELIMITER ;

但是如何让程序返回最后插入的id?

最佳答案

我在您的过程中添加了一个 OUT 参数。

DELIMITER //
CREATE PROCEDURE `regist`(IN login VARCHAR(20), IN password VARCHAR(32), IN ip VARCHAR(15), OUT lastId INT)
BEGIN
INSERT INTO `users` (`login`, `password`, `ip`) VALUES (login, password, ip);
SET @last_id = LAST_INSERT_ID();
END
//
DELIMITER ;

关于php - 如何在MySQL过程中返回最后插入的id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17190561/

相关文章:

php - 尝试连接时,Google Cloud Storage 向我提供授权代码 401 无效凭据

mysql - 带有依赖子查询的慢 MySQL 查询(检查客户端是否是第一种情况)

java - 使用 JSB 在 MySql 数据库表中搜索

mysql - 创建存储过程 SQL

动态更改其中的表时,Mysql调用过程失败

php - Paypal 沙箱 PDT 失败 4020

php - 提交具有 2 个文件输入字段的表单时无限页面加载

php - 智能引号无法正确转换为 UTF8

mysql - Mysql应该使用什么字符集

delphi - 如何修复程序循环引用?