1

只有当新值不为空时,我才必须合并两个表并更新重复键。我尝试了下面的代码但没有成功有人可以帮忙吗?谢谢!

INSERT
INTO    table1
SELECT  * FROM    temp  
ON DUPLICATE KEY UPDATE
  table1.tel = coalesce(temp.tel,table1.tel),
  table1.fax = coalesce(temp.fax,table1.fax)
4

1 回答 1

1

我认为您的问题可能是您在更新子句中引用值的方式。以下可能会更好:

INSERT
INTO    table1
SELECT  * FROM    temp  
ON DUPLICATE KEY UPDATE
  table1.tel = coalesce(values(tel),tel),
  table1.fax = coalesce(values(fax),fax)
于 2011-06-15T14:23:38.467 回答