DELETE FROM mytable WHERE id IN (SELECT id FROM mytable where roll=1)
我有一张桌子mytable
。我上面的查询抛出了一个错误。
您不能在 FROM 子句中指定目标表“mytable”进行更新
DELETE FROM mytable WHERE id IN (SELECT id FROM mytable where roll=1)
我有一张桌子mytable
。我上面的查询抛出了一个错误。
您不能在 FROM 子句中指定目标表“mytable”进行更新
你为什么不这样做呢?
DELETE FROM mytable WHERE roll=1
你为什么不写
DELETE FROM mytable WHERE roll=1
? 发生错误是因为 MySql 不喜欢它在上级查询修改同一个表时从子查询中的表中获取。
为什么不简单:
DELETE FROM mytable WHERE roll=1
你为什么使用子查询?你可以这样写:
DELETE FROM mytable WHERE where roll=1;