Home » Mysql » Select & Insert across multiple databases with MySQL

Select & Insert across multiple databases with MySQL

Posted by: admin November 29, 2017 Leave a comment

Questions:

I have 2 identical tables in 2 different databases that reside on the same server. What would be the best way to copy data from table to another?

Answers:

Use:

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

The exists is simplified, but you left out if there’s a primary key/auto_increment to worry about/etc.

Questions:
Answers:

Just to elaborate slightly on OMG Ponies’ answer, you can use any WHERE clause, like so:

INSERT INTO db1.tablename
SELECT *
FROM db2.tablename src
WHERE src.lastlogin >= '2013-10-31 07:00:00'