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

删除Medals表中Sarah Smith数据时MySQL报#1064语法错误求助

排查MySQL DELETE JOIN语句的语法错误

你尝试删除Medals表中对应'Sarah Smith'的数据时,SQL语句存在MySQL语法规范问题,导致报错。

原语句及报错信息

执行的SQL语句:

DELETE FROM Medals
JOIN Athletes ON Medals.AthleteID = Athletes.AthleteID
WHERE AthleteName = 'Sarah Smith'

phpMyAdmin返回的错误:

MySQL said: Documentation
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'JOIN Athletes ON Medals.AthleteID = Athletes.AthleteID
WHERE AthleteName = 'S' at line 3

问题原因

MySQL的DELETE JOIN语法要求在DELETE关键字后明确指定要删除数据的表,原语句中DELETE FROM Medals的写法不符合MySQL的语法规则,这是导致报错的核心原因。

修正后的语句

提供两种符合MySQL规范的写法:

  1. 显式指定要删除的表,保留JOIN语法:
DELETE Medals
FROM Medals
JOIN Athletes ON Medals.AthleteID = Athletes.AthleteID
WHERE Athletes.AthleteName = 'Sarah Smith'
  1. 使用多表删除的逗号分隔语法:
DELETE Medals
FROM Medals, Athletes
WHERE Medals.AthleteID = Athletes.AthleteID
  AND Athletes.AthleteName = 'Sarah Smith'

补充说明

错误信息中出现的'S'大概率是语句换行或字符截断导致的显示问题,无需额外处理,修正核心语法后即可正常执行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 00:59:52