如何在MySQL程序中返回最后插入的id

时间:2013-06-19 11:56:20

标签: 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?

2 个答案:

答案 0 :(得分:1)

我在你的程序中添加了一个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 ;

答案 1 :(得分:0)

在mysql中它是LAST_INSERT_ID()