2015-10-29 66 views
0

我不知道是否沒有簡短的方法來更新只有存在密鑰的行。否則,我不想插入一個新行,所以INSERT ON DPULICATE KEY不起作用。mysql只有存在時才更新否插入

例如:

我有一個包含地址的表可以說,200的客戶對他們的唯一客戶ID的主鍵。現在我得到一個新的包含更新數據的500個地址的excel列表。我想更新我桌上的所有200位顧客,但我不想添加其他300位顧客。

所以我要尋找的東西像

UPDATE上存在

此關鍵字的所有搜索導致INSERT對重複更新。所以我希望你能幫忙。

+0

我可能會錯過這一點,但它不像「update master,addr set mastercol = addrcol where idmaster = idaddr」那樣簡單嗎? – Nick

回答

1

我想你可以用另一種方式。

例如:

  1. 插入500客戶到一個新表。
  2. 使用自然連接更新200個客戶信息。

那麼你可以使用更新,如:

update A set A.address = B.address where A.id = B.id; 

然後刪除在B表。