急求!mysql存储过程,多个字段合并后通过一个输出变量参数返回值.该怎么解决
急求!mysql存储过程,多个字段合并后通过一个输出变量参数返回值.
DELIMITER $$
CREATE PROCEDURE login (IN uname VARCHAR(30),IN upwd VARCHAR(32), OUT re_uinfo VARCHAR(50))
BEGIN
SELECT re_uinfo:=concat(user_id,'|',user_name) as uinfo FROM glcity_user WHERE user_name=uname AND user_pwd=upwd AND user_state=1 LIMIT 1;
END;
$$
错误信息:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ':=concat(user_id,'|',user_name) as uinfo FROM glcity_user WHERE user_name=uname ' at line 3
------解决方案--------------------
DELIMITER $$
CREATE PROCEDURE login (IN uname VARCHAR(30),IN upwd VARCHAR(32), OUT re_uinfo VARCHAR(50))
BEGIN
SELECT re_uinfo:=concat(user_id,'|',user_name) as uinfo FROM glcity_user WHERE user_name=uname AND user_pwd=upwd AND user_state=1 LIMIT 1;
END;
$$
错误信息:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ':=concat(user_id,'|',user_name) as uinfo FROM glcity_user WHERE user_name=uname ' at line 3
------解决方案--------------------
- SQL code
mysql> CREATE PROCEDURE login (IN uname VARCHAR(30),IN upwd VARCHAR(32), OUT re_ uinfo VARCHAR(50)) -> BEGIN -> SELECT concat(user_id,'|',user_name) into re_uinfo FROM glcity_user WHERE user_name=uname AND user_pwd=upwd AND user_state=1 LIMIT 1; -> END; -> $$ Query OK, 0 rows affected (0.42 sec) mysql>