1

新しい値がnullでない場合にのみ、2つのテーブルをマージし、重複キーを更新する必要があります。以下のコードを試しましたが成功しませんでした。誰か助けてもらえますか?ありがとう!

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

あなたの問題は、update句の値を参照している方法にあるのではないかと思います。以下の方がうまくいく可能性があります。

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 に答える