本帖最后由 dream1206 于 2012-01-07 21:01:37 编辑

解决方案 »

  1.   

    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>
      

  2.   

            INSERT INTO user (u_mail, u_name, u_password, u_signTime)
                       VALUES ('user_mail', 'user_name', 'user_pw', );这句多了个,