如何在MySQL中将数据迁移到另一个表

我在两个不同的数据库中有两个相同的表(相同的表列和主键)。 我想将第二个表数据添加到第一个表中不存在的第一个表(根据主键)。

这是最好的方法吗? </ p>

我可以将第二个表数据导出为 csv </ code>, php array </ code>或 sql </ code>文件。 </ p>

谢谢</ p>
</ div>

展开原文

原文

I've two same tables(same table columns and primary key) in two different databases. I want to add 2nd table data to the first table that not exist in the first table (according to the primary key). what is the best method to do that?

I can export 2nd table data as csv, php array or sql file.

Thanks

1个回答

There are lots of ways to do this.

The simplest is probably this one:

INSERT IGNORE
  INTO table_1 
SELECT *
  FROM table_2
     ;

which allows those rows in table_1 to supersede those in table_2 that have a matching primary key, while still inserting rows with new primary keys.

Alternatively, you can use a subquery to find out the rows that are not shared by both tables and insert them. If you've got a lot of records, you may want to consider using a temporary table to speed up the process.

doushi5117
doushi5117 您是否尝试在表名前添加数据库名称? 例如:INSERT(...)INTO database1.table_1;
6 年多之前 回复
dongleman4760
dongleman4760 似乎查询无效。 实际上我在WAMP本地主机中有两个数据库。 我想将数据从一个表迁移到另一个表。 insert表是一个数据库。 从表中是一个DB。 两者都有相同的字段。
6 年多之前 回复
dragon456101
dragon456101 too long
6 年多之前 回复
doucu5836
doucu5836 我会说这取决于你的权限。 如果您的用户可以访问这两个数据库,您应该能够访问它们。 如果没有,只需导出一个表并将其导入所需的数据库。 在任何情况下,备份您的数据并首先尝试插入忽略方法,您可能根本不需要使用临时表。
6 年多之前 回复
donglefu6195
donglefu6195 是。 我可能有相当多的行。 临时表用于标识不共享的行? 这种方法可以应用于两个不同数据库中的表吗?
6 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐