`
nannan408
  • 浏览: 1754688 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

架构师之mysql-------------delete where id not in的解决方案

 
阅读更多
1.前言。
  如题。如果直接这样delete会报错
MySql报错: You can't specify target table 'table name' for update in FROM clause



2.解决办法。
CREATE TABLE KK.tmp AS SELECT a.id FROM (SELECT id FROM KK.`table1`) a ;
DELETE FROM KK.`table1` WHERE id NOT IN (SELECT id FROM tmp); 
DROP TABLE KK.tmp;

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics