【发布时间】:2012-01-21 14:10:10
【问题描述】:
可能重复:
SQL Delete: can't specify target table for update in FROM clause
我正在尝试删除一些行,但目前没有成功。
DELETE FROM product_pictures
WHERE picture = (SELECT picture FROM product_pictures WHERE id = ?)
您不能在FROM 子句中指定要更新的目标表“product_pictures”
我以前从未见过此错误消息,也无法找到一些有用的信息来说明我做错了什么。
行示例:
ID Picture
19 picture-grey.jpg
20 picture-grey.jpg
21 picture-grey.jpg
【问题讨论】:
-
请确认您是否只想删除具有给定 id 的行,或者您有更复杂的要求。
-
@kris: 或者您想删除所有具有相同
picture的行与具有id=?的行 -
链接(上面提到的):stackoverflow.com/questions/45494/…不是回答你的问题吗?
-
对不起,我不熟悉 Distinct,所以对我来说没有多大意义..
-
Cheekysoft 的 2 个答案正是 zerkms 和我在这里回答的。