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

MySQL创建存储过程报错“LEFT在此位置无效,期望;”如何解决

问题诊断
  • 核心语法错误:不存在 LEFT INNER JOIN 这类连接语法,SQL 标准中连接类型只能从以下两类中选择:
    • 内连接:写为 INNER JOIN 或简写为 JOIN,仅返回两张表匹配成功的记录
    • 左外连接:写为 LEFT JOIN 或完整写为 LEFT OUTER JOIN,返回左表全部记录,右表匹配不到的字段返回 NULL
  • 补充配置遗漏:创建存储过程前需要临时修改语句分隔符,避免存储过程内部的分号被 MySQL 判定为整个 CREATE 语句的结束标记,引发执行异常。
修正后的完整代码

你可以根据业务需要选择连接类型,以下为示例代码:

-- 临时修改语句分隔符为//,避免存储过程内部分号截断语句
DELIMITER //
CREATE PROCEDURE addPayments()
BEGIN
       INSERT INTO payment (pay_date, salary_amount, employee_id)
       SELECT curdate(), designation.salary, employee.id
       -- 如需仅生成有对应岗位的员工支付记录,可将 LEFT JOIN 替换为 INNER JOIN
       FROM employee LEFT JOIN designation
       ON employee.designation_id = designation.id;
END //
-- 恢复默认分号分隔符
DELIMITER ;

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 19:24:05