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

XAMPP phpMyAdmin创建存储过程报1064错误 同SQL Navicat可正常运行

问题根因与解决方案

核心报错原因

你遇到的1064语法报错是SQL语句分隔符(DELIMITER)设置冲突导致的,与SQL本身的语法正确性无关:

  • Navicat执行存储过程、触发器等包含内置分号;的语句时,会自动临时修改语句分隔符,不会把存储过程内部的分号识别为整条语句的结束标记,因此可以正常执行
  • XAMPP集成的phpMyAdmin默认语句分隔符为;,解析到存储过程第7行status_pivot LONGTEXT;末尾的分号时,会判定当前CREATE PROCEDURE语句已经结束,后续内容不符合SQL语法规则,因此抛出报错。

修复方案

命令行/手动执行方案

  1. 执行存储过程创建语句前,先临时修改SQL分隔符为不会和内置分号冲突的符号,例如//:
DELIMITER //
  1. 执行原有的存储过程创建语句
  2. 执行完成后,将分隔符改回默认的分号即可:
DELIMITER ;

phpMyAdmin可视化操作方案

你也可以直接在phpMyAdmin的SQL执行页面,找到输入框下方的「分隔符」配置项,把默认值;修改为//后再执行存储过程创建语句,执行完成后改回默认值即可。

额外优化建议

你代码中使用的"是HTML转义后的双引号,建议直接替换为SQL标准的单引号'或者反引号`,避免不同环境下的转义解析异常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 11:27:04