仅当新值不为null时,才在DUPLICATE KEY UPDATE上合并两个表

|| 只有新值不为null时,我才必须合并两个表并更新重复键。 我尝试下面的代码没有成功 有人可以帮忙吗? 谢谢!
INSERT
INTO    table1
SELECT  * FROM    temp  
ON DUPLICATE KEY UPDATE
  table1.tel = coalesce(temp.tel,table1.tel),
  table1.fax = coalesce(temp.fax,table1.fax)
    
已邀请:
        我认为您的问题可能是您引用update子句中的值的方式。以下可能会更好地工作:
INSERT
INTO    table1
SELECT  * FROM    temp  
ON DUPLICATE KEY UPDATE
  table1.tel = coalesce(values(tel),tel),
  table1.fax = coalesce(values(fax),fax)
    

要回复问题请先登录注册