You can't specify target table for update in FROM clause含义:不能在同一表中查询的数据作为同一表的更新数据。

问题

update keywords set showcase_flag=1 where keywords.link in  (SELECT link FROM keywords where showcase_flag="是") ;

进阶

update keywords set showcase_flag=1 where keywords.link in (SELECT a.link FROM (SELECT link FROM keywords where showcase_flag="是") as a);

提高

update keywords a set a.showcase_flag = case when a.showcase_flag = '是' then '1' when a.showcase_flag = '否' then '0' end;

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • rljs by sennchi Timeline of History Part One The Cognitiv...
    sennchi阅读 7,448评论 0 10
  • 今天我写完作业,打开电视想看一会动画片。刚好,电视上演的超级飞翔。我特别喜欢里面的乐迪,因为乐迪总是去帮助别人。而...
    段智耀阅读 243评论 0 0
  • 阳光,是浓烈的; 我们,是青春的; 军训,是进行的; 汗水,是流淌的; 口号,是响亮的; 步伐,是整齐的; 哨声,...
    小帅在成长阅读 287评论 0 0