17

我在位于同一服务器上的 2 个不同数据库中有 2 个相同的表。将数据从表复制到另一个表的最佳方法是什么?

4

2 回答 2

30

采用:

INSERT INTO db1.table1
SELECT *
  FROM db2.table2 t2
 WHERE NOT EXISTS(SELECT NULL
                    FROM db1.table1 t1
                   WHERE t1.col = t2.col)

存在被简化了,但是如果有一个主键/auto_increment 需要担心/等,你就忽略了。

于 2010-08-03T18:42:46.260 回答
3

稍微详细说明一下 OMG Ponies 的回答,您可以使用任何 WHERE子句,如下所示:

INSERT INTO db1.tablename
SELECT *
FROM db2.tablename src
WHERE src.lastlogin >= '2013-10-31 07:00:00'
于 2013-10-31T09:20:04.367 回答