0

ユーザー登録の手順を使用します

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を返すようにする方法は?

4

2 に答える 2

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 ;
于 2013-06-19T11:59:23.143 に答える
0

mysqlでは LAST_INSERT_ID()

于 2013-06-19T12:01:26.440 に答える