仅替换重复项并跳过唯一

时间:2014-11-15 23:00:28

标签: mysql replace duplicates unique skip

我有这个简单的表格: (ID是唯一键)

-----------------------------
-   ID   ----    NAME    ----
-----------------------------
-   1    ----    Peter   ----
-   2    ----   Suzanne  ----
-   3    ----   Thomas   ----
-----------------------------

我希望使用query:

将这些表数据插入表中
-----------------------------
-   ID   ----    NAME    ----
-----------------------------
-   2    ----    Alex    ----
-   4    ----    Eric    ----
-   5    ----    Paul    ----
-----------------------------

我想要的是,来自新表的数据将替换旧表中不存在的旧数据和条目。

所以决赛桌看起来像这样:

-----------------------------
-   ID   ----    NAME    ----
-----------------------------
-   1    ----    Peter   ----
-   2    ----    Alex    ----
-   3    ----   Thomas   ----
-----------------------------

只有ID 2的行被替换,ID为4,5的行被跳过,因为旧表中不存在。

这可能吗? 感谢

1 个答案:

答案 0 :(得分:1)

您似乎想要update

update table1 t1 join
       table2 t2
       on t1.id = t2.id
    set t1.name = t2.name;