如何用INSERT ON CONFLICT在原值上更新[阿里云数据库MySQL版]

期望起作用的sql INSERT INTO a VALUES (1,”2″) ON CONFLICT (a) DO UPDATE SET b = concat(b, “2”);

「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
=====这是一个广告位,招租中,联系qq 78315851====
2 条回复 A 作者 M 管理员
  1. 这样写不好理解,不如把这个字段搞成唯一索引,然后使用replace into,顺溜的一批

  2. 您可以在SET子句中使用原值和新值的组合来更新数据。例如,您可以使用以下SQL语句来在原值上更新b字段:

    INSERT INTO a VALUES (1,”2″) ON CONFLICT (a) DO UPDATE SET b = concat(a.b, “2”);

    这将在a字段冲突时更新b字段,将原值和新值组合在一起。