我必须合并两个表,并且仅当新值不为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)
答案 0 :(得分:1)
我认为您的问题可能是您在更新子句中引用值的方式。以下可能会更好:
INSERT
INTO table1
SELECT * FROM temp
ON DUPLICATE KEY UPDATE
table1.tel = coalesce(values(tel),tel),
table1.fax = coalesce(values(fax),fax)