我有一个mysql查询要合并主键IMO上的两个表。该查询工作正常,但我遇到的问题是,在重复键更新时,我只想更新wp_second表中那些没有值的字段。
简而言之,在重复键上。。wp_second值只应在null或空时更新。
这是我到目前为止提出的问题

INSERT INTO wp_second (imo, GEARTYPE, vname, flag) SELECT imo_number, vessel_type, vessel_name, flag FROM wp_first
ON DUPLICATE KEY UPDATE
wp_second.GEARTYPE=wp_first.vessel_type,
wp_second.flag=wp_first.flag,
wp_second.vname=wp_first.vessel_name

最佳答案

用coalesce试试这个

   ON DUPLICATE KEY UPDATE
   wp_second.GEARTYPE= COALESCE(wp_first.vessel_type, wp_second.GEARTYPE),
   wp_second.flag= COALESCE(wp_first.flag, wp_second.flag),
   wp_second.vname= COALESCE(wp_first.vessel_name, wp_second.vname)

? 如果为空,则为您想要的值

关于mysql - 在重复键上仅更新Null或空值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36668795/

10-13 05:50