mysql在mysql中合并两个表

时间:2013-08-17 18:36:56

标签: mysql

我有2张桌子。我想合并它们,但要删除table2中以table1中列出的id开头的条目。

id | name
---------
1  | test
2  | test2
3  | test3

id  | name
----------
122 | tester
222 | tester2
555 | testr3

我希望:

id | name
---------
1  | test
2  | test2
3  | test3
555 | testr3

1 个答案:

答案 0 :(得分:0)

你需要在这里有两个陈述。

首先,删除table2

中的记录
DELETE  
FROM    table2 a
WHERE   EXISTS
        (
            SELECT  1
            FROM    table2 b
            WHERE   b.id LIKE CONCAT(a.ID, '%')
        )

其次,将所有记录从table1复制到table2

INSERT INTO table2(id, name)
SELECT  id, name
FROM    table1