日期:2014-05-16 浏览次数:22415 次
CREATE PROCEDURE sign (
IN user_mail CHAR(20),
IN user_name CHAR(20),
IN user_pw CHAR(20),
OUT user_id INT
)
BEGIN
-- 创建两个变量, 也就是这块提示有语法错误
DECLARE v_id INT(10);
DECLARE v_result INT(10) DEFAULT 0;
SELECT u_id FROM user WHERE u_mail = user_mail INTO v_id;
IF ( v_id IS NULL ) THEN
INSERT INTO user (u_mail, u_name, u_password, u_signTime)
VALUES ('user_mail', 'user_name', 'user_pw', );
SELECT u_id FROM user WHERE u_mail = user_mail INTO v_result;
END IF;
SELECT v_result INTO user_id;
END;
mysql> delimiter //
mysql>
mysql> CREATE PROCEDURE sign (
-> IN user_mail CHAR(20),
-> IN user_name CHAR(20),
-> IN user_pw CHAR(20),
-> OUT user_id INT
-> )
-> BEGIN
-> -- 创建两个变量, 也就是这块提示有语法错误
-> DECLARE v_id INT(10);
-> DECLARE v_result INT(10) DEFAULT 0;
-> SELECT u_id FROM user WHERE u_mail = user_mail INTO v_id;
-> IF ( v_id IS NULL ) THEN
-> INSERT INTO user (u_mail, u_name, u_password, u_signTime)
-> VALUES ('user_mail', 'user_name', 'user_pw', now); -- acmain: missing the value for last column
-> SELECT u_id INTO v_result FROM user WHERE u_mail = user_mail ; -- acmain: syntax is "select col into var ..."
-> END IF;
-> SELECT v_result INTO user_id;
-> END;
-> //
Query OK, 0 rows affected (0.44 sec)
mysql>
------解决方案--------------------
INSERT INTO user (u_mail, u_name, u_password, u_signTime)
VALUES ('user_mail', 'user_name', 'user_pw', );
这句多了个,