CREATE PROCEDURE login (in uname varchar(30),in upwd varchar(32), out re_uid int, out re_unetname varchar(30))
BEGIN
select re_uid:=user_id,re_unetname:=user_netname from glcity_user where user_name=uname AND user_pwd=upwd AND user_state=1  limit 1;
END;错误信息:
#1064 - 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 ':=user_id,re_unetname:=user_netname from glcity_user where user_name=uname AND u' at line 3

解决方案 »

  1.   

    1
    DELIMITER $$
    CREATE PROCEDURE login (IN uname VARCHAR(30),IN upwd VARCHAR(32), OUT re_uid INT, OUT re_unetname VARCHAR(30))
    BEGIN
    SELECT @re_uid:=user_id,@re_unetname:=user_netname FROM glcity_user WHERE user_name=uname AND user_pwd=upwd AND user_state=1 LIMIT 1;
    END;
    $$2
    DELIMITER $$
    CREATE PROCEDURE login (IN uname VARCHAR(30),IN upwd VARCHAR(32), OUT re_uid INT, OUT re_unetname VARCHAR(30))
    BEGIN
    SELECT user_id as re_uid,=user_netname  as re_unetname FROM glcity_user WHERE user_name=uname AND user_pwd=upwd AND user_state=1 LIMIT 1;
    END;
    $$
      

  2.   

    可以了,谢谢WWWWA
     朋友,
    顺便问一下"DELIMITER $$",为什么要加这个?
      

  3.   

    明白了,可参考:
    http://www.cnblogs.com/rootq/archive/2009/05/27/1490523.html
      

  4.   

    :=赋值语句 mysql不支持的。