高考加油

使用mysql进行delete from操作时,若子查询的 FROM 字句和更新/删除对象使用同一张表,会出现错误。

1
You can’t specify target table ‘weibo′ for update in FROM clause 

针对“同一张表”这个限制,撇开效率不谈,多数情况下都可以通过多加一层select 别名表来变通解决,像这样

1
DELETE FROM weibo WHERE id IN (SELECT id FROM (SELECT id FROM weibo WHERE user_id='****' AND original='无' AND video='无') t)