【发布时间】:2026-01-14 00:00:01
【问题描述】:
我正在尝试对 MySQL 5.0 中的变量进行一些简单的操作,但我无法让它正常工作。我已经看到许多(非常!)不同的 DECLARE/SET 语法,我不知道为什么......无论如何我可能会混淆它们/选择错误的/混合它们。
这是一个失败的最小片段:
DECLARE FOO varchar(7);
DECLARE oldFOO varchar(7);
SET FOO = '138';
SET oldFOO = CONCAT('0', FOO);
update mypermits
set person = FOO
where person = oldFOO;
我也试过用 BEGIN... END;并作为一个程序。在这种情况下,MySQL Workbench 很有帮助地告诉我:第一行是“')' 附近的 SQL 语法错误”,第二行是“'DECLARE oldFOO varchar(7)' 附近的 SQL 语法错误”。否则,它会将两行都显示为完整的错误,并在两者上都显示“SQL 语法错误接近 ...”。
编辑:我忘了提到我已经在变量上使用和不使用@s 进行了尝试。有些资源有,有些没有。
我犯了什么愚蠢的错误?
【问题讨论】:
-
准确发布您尝试使用的内容,因为我创建了一个新程序,使用您提供的内容没有出现语法错误 - 请参阅我的答案。
标签: sql mysql mysql-error-1064