小编典典

如何将此MySQL SELECT查询转换为DELETE查询?

sql

我想从数据库中删除某些项目。我有以下查询:

SELECT * 
FROM sheets, entries 
WHERE entries.sheetID = sheets.id AND sheets.clientID = 13

这有效,并返回2个结果。

现在,我想将此SELECT查询转换为DELETE查询。但是,以下操作无效:

DELETE FROM sheets, entries 
WHERE entries.sheetID = sheets.id AND sheets.clientID = 13

MySQL引发以下错误:

1064-您的SQL语法有误;检查与您的MySQL服务器版本相对应的手册以获取正确的语法,以在第1行的“ WHERE entry.sheetID =
sheets.id ANDsheets.clientID = 13”附近使用

我在这里做错了什么?


阅读 189

收藏
2021-04-28

共1个答案

小编典典

MySQL
4及更高版本支持使用以下语法一次从多个表中删除

DELETE sheets, entries
FROM sheets, entries 
WHERE entries.sheetID = sheets.id AND sheets.clientID = 13

如果您使用的是低于版本4的MySQL,则需要一次从一个表中删除行,并且可以使用此处发布的其他解决方案之一。

2021-04-28