Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL错误,声明_Mysql_Mysql Error 1064_Declare - Fatal编程技术网

MySQL错误,声明

MySQL错误,声明,mysql,mysql-error-1064,declare,Mysql,Mysql Error 1064,Declare,我使用的是MySQL v5.0.92,我试图导入一些数据,但在声明变量时出错 BEGIN DECLARE flag INT; DECLARE id INT; while flag=0 begin SET id=(SELECT top 1 user_id FROM ac_user_info WHERE user_id>@id order by user_id) INSERT INTO cuddleew_database1.cewp_usermeta(

我使用的是MySQL v5.0.92,我试图导入一些数据,但在声明变量时出错

BEGIN
  DECLARE flag INT;
  DECLARE id INT;


while flag=0 begin
  SET id=(SELECT top 1 user_id 
         FROM ac_user_info WHERE user_id>@id order by user_id)

  INSERT INTO cuddleew_database1.cewp_usermeta(user_id,meta_key,meta_value)
  SELECT id,'first_name',first_name 
  FROM cuddleew_backup.ac_user_info WHERE user_id=@id

  INSERT INTO cuddleew_database1.cewp_usermeta(user_id,meta_key,meta_value)
  SELECT id,'last_name',last_name 
  FROM cuddleew_backup.ac_user_info WHERE user_id=@id

  SET flag=(select case @id when(SELECT MAX(user_id) 
                                FROM cuddleew_bakup.ac_user_info) then 1
     else 0
     END CASE)
  END WHILE
END
在MySQL控制台中,我得到以下信息:

开始声明标志INT

#1064-您的SQL语法有错误;检查与您的产品相对应的手册 第2行“DECLARE flag INT”附近使用的正确语法的MySQL服务器版本。


你能帮我一下,告诉我怎么了吗。提前感谢。

您必须先更改分隔符,以便;不会告诉MySQL此命令已结束

DELIMITER $$

[your code here]

END $$

DELIMITER ;

您需要更改分隔符RI已添加分隔符$$[my code]END$$DELIMITER;我得到了一个更大的错误。我的phpMyAdmin有分隔符选项,它被设置为“;”。