问题
I am looking for a solutions for my MySQL data copying related problem. I have a table TAB1 in a database DB1 that contains some data. Now I want some of these data rows to be migrated to another table TAB2 to some another database DB2.
What would be an ideal way to write such a SQL script for MySQL server. I cannot write java/php program etc because I don't have access to the code base.
Any example links will be helpful. I know this can be done in Oracle via DBLink but how to do it in MySQL.
Thanks
回答1:
insert into db2.table2 (field1,field2,..,fieldN)
select field1,field2,..,fieldN from db1.table1
EDIT. If you need to do an update between two different databases this is the right syntax:
update
db2.table2 as t2,
db1.table1 as t1
set
t2.field1 = t1.field1,
t2.field2 = t1.field2,
t2.field3 = t1.field3
where t1.id = t2.id
回答2:
If both databases are on the same server then the easiest way is to use INSERT INTO... SELECT query
INSERT INTO
database2.table2 (c1, c2, c3)
SELECT
c2, c4, MD5(c3) --you can choose only these columns that are needed as well as use functions to convert data to required format if needed
FROM
database1.table1
回答3:
Find a free ETL tool of some kind:
http://searchdatamanagement.techtarget.com/answer/The-ETL-process-and-MySQL
回答4:
This will copy all the data from one table to another (MySQL)
INSERT INTO `databse_name`.`tablename_copy`
SELECT *
FROM `databse_name`.`tablename` ;
if you set primary key this will create some problem. Please check the primary key duplication error
来源:https://stackoverflow.com/questions/7050998/copying-data-from-one-table-to-another-table-databases-are-different-and-table