DELETE FROM mytable WHERE id IN (SELECT id FROM mytable where roll=1)
我有一张桌子mytable
。我上面的查询引发了错误。
您无法在FROM子句
中为更新指定目标表'mytable'答案 0 :(得分:3)
目前,您无法从表中删除并从子查询中的同一个表中进行选择。
幸运的是,您不需要子查询。只是做:
DELETE FROM mytable WHERE roll=1
它更短更清晰。
答案 1 :(得分:1)
你为什么不这样做?
DELETE FROM mytable WHERE roll=1
答案 2 :(得分:0)
你为什么不写
DELETE FROM mytable WHERE roll=1
? 发生此错误是因为当上级查询修改同一个表时,MySql不喜欢从子查询中获取表格。
答案 3 :(得分:0)
为什么不简单:
DELETE FROM mytable WHERE roll=1
答案 4 :(得分:0)
为什么使用子查询?你可以这样写:
DELETE FROM mytable WHERE where roll=1;
答案 5 :(得分:0)