Copying data from one table to another table. Databases are different and table structure is different

不问归期 提交于 2019-12-06 07:05:47

问题


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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!