Mysql 如何合并两个表?

Mysql 如何合并两个表?,mysql,sql,phpmyadmin,Mysql,Sql,Phpmyadmin,我有两个表,每个表有50000个数据。这两个表id都从1-50000开始,所以当我尝试使用 INSERT IGNORE INTO table_1 SELECT * FROM table_2 它完全重写了现有的一个。我不想重写它,但添加为新的,所以它将总计10万。但可能会说索引列中有5到10个副本,所以也会对索引进行重复检查。我如何做到这一点???使用PHP或其他喜爱的语言,这将是大约10-20行代码 如果表1和表2首先需要有不同的键才能成功合并 表_1键必须从1-50000开始,表_

我有两个表,每个表有50000个数据。这两个表id都从1-50000开始,所以当我尝试使用

INSERT IGNORE
  INTO table_1 
SELECT *
  FROM table_2

它完全重写了现有的一个。我不想重写它,但添加为新的,所以它将总计10万。但可能会说索引列中有5到10个副本,所以也会对索引进行重复检查。我如何做到这一点???

使用PHP或其他喜爱的语言,这将是大约10-20行代码

如果表1和表2首先需要有不同的键才能成功合并

表_1键必须从1-50000开始,表_2键值必须从50001-100000开始

对于复制,您可以使用mysql中的on update功能进行处理

INSERT INTO table_1
    SELECT * FROM table_2
ON DUPLICATE KEY UPDATE table_1.val=table_1.val

如果存在主键列,如果存在重复项,则必须将其从插入中排除

一种解决方案是使用删除重复值的选择进行插入

INSERT IGNORE INTO table_1 (f1, f2, f3)
SELECT f1, f2, f2 FROM table_2 WHERE table_2.index NOT IN (SELECT index FROM table_1)

OBS,这在速度较慢的数据库服务器上效率不高,如果表中有更多信息,可以编写得更好。

这并不能回答他的问题,所以应该在注释部分。你也不知道他的设置,所以我的php可能与他无关,例如,可能是Python应用程序等。这就是为什么我写了“或另一种最喜欢的语言”