我正在使用 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 语法有错误;检查与您对应的手册 MySQL 服务器版本,用于在第 2 行的“DECLARE flag INT”附近使用正确的语法。
你能帮我解决这个问题并告诉我出了什么问题吗?提前致谢。
最佳答案
您必须首先更改分隔符,因此 ;不告诉 MySQL 该命令已结束。
DELIMITER $$
[your code here]
END $$
DELIMITER ;
关于mysql - MySQL 错误,声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24887364/