1093 - You can't specify target table 'xxx' for update in FROM clause, Time: 0.002000s

1093 - You can't specify target table 'xxx' for update in FROM clause, Time: 0.002000s

根据结果集在b_order_copy1 表中删除

DELETE FROM b_order_copy1 WHERE Id in  ( SELECT Id FROM b_order_copy1 WHERE request_counts = 2 AND response_counts = 2 AND final_status = 200 AND create_time BETWEEN 1548000000000 AND 1548086400000  );

会出现1093 - You can't specify target table 'xxx' for update in FROM clause, Time: 0.002000s错误。(不能在同一语句中更新select出的同一张表中的属性值)
mysql是不容许这样操做的,须要经过一个子查询的方式获取到id。update语句同理。

解决方法:

DELETE FROM b_order_copy1 WHERE Id in ( SELECT a.Id FROM ( SELECT Id FROM b_order_copy1 WHERE request_counts = 2 AND 
response_counts = 2 AND final_status = 200 AND create_time BETWEEN 1548000000000 AND 1548086400000 ) AS a );
相关文章
相关标签/搜索