You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu下MySQL创建存储过程报ERROR 1064 (42000)错误如何解决

报错原因
  • get是MySQL的内置保留关键字,不可直接用作存储过程名称,SQL解析器遇到该关键字时会优先识别为内置指令而非自定义标识符,因此触发语法错误。
  • 你此前修改分隔符的操作、存储过程内部的查询逻辑均无问题,a表存在也和本次报错无关,问题仅出在存储过程命名违规。
解决方法

提供两种可直接落地的修复方案:

方案1:更换非关键字的存储过程名(推荐)

选择没有被MySQL占用的名称即可,示例执行代码如下:

-- 先修改分隔符
delimiter &&
-- 创建存储过程,名称更换为get_a_info这类自定义名称
create procedure get_a_info()
begin
select * from a;
end&&
-- 执行完成后将分隔符改回默认的分号
delimiter ;

后续调用语句为:call get_a_info();

方案2:用反引号包裹保留关键字强制使用

如果必须使用get作为存储过程名称,需要用反引号将标识符包裹,强制MySQL将其识别为自定义名称:

delimiter &&
create procedure `get`()
begin
select * from a;
end&&
delimiter ;

后续调用时也需要携带反引号:call get();

内容的提问来源于stack exchange,提问作者Linyurain

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.10 21:12:03