MySQL 过程中的一个错误

An error in MySQL procedure

为什么无法创建存储过程?

delimiter //
CREATE PROCEDURE p()
BEGIN
DECLARE j INT;
SET j = 1;
SELECT j:=j+1, request.* FROM request;
END//

问题所在行:

SET j:=j+1, ...

变量名需要加@:

delimiter //
CREATE PROCEDURE p()
BEGIN
SET @j = 1;
SELECT @j:=@j+1, request.* FROM request;
END//

解释如下:MySQL: @variable vs. variable. Whats the difference?