【发布时间】:2023-03-28 01:11:01
【问题描述】:
我正在使用 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 控制台中我得到这个:
BEGIN DECLARE flag INT;
#1064 - 您的 SQL 语法有错误;检查与您对应的手册 MySQL 服务器版本,用于在第 2 行的“DECLARE flag INT”附近使用正确的语法。
你能帮我解决这个问题并告诉我有什么问题吗?提前致谢。
【问题讨论】:
-
你需要更改分隔符
标签: mysql mysql-error-1064 declare