mysql UPDATE仅在存在NO INSERT时才有

时间:2015-10-29 09:58:50

标签: mysql sql-update

我想知道只有在存在密钥时才能更新行的简短方法。我不想以其他方式插入新行,因此INSERT ON DPULICATE KEY无效。

例如:

我有一个表格,其中包含200个客户的地址,主客户的唯一客户ID。现在我得到一个包含500个地址的新excel列表,其中包含更新的数据。我想更新表格中的所有200个客户,但我不想添加其他300个客户。

所以我搜索类似

的内容

更新EXISTS

此关键字的所有搜索都会导致INSERT ON DUPLICATE UPDATE。所以我希望你能提供帮助。

1 个答案:

答案 0 :(得分:1)

我认为你可以用另一种方式。

例如:

  
      
  1. 将500位客户插入新表中。
  2.   
  3. 使用nature join更新200个客户信息。
  4.   

然后您可以使用更新,如:

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

然后放下B表。