Mysql 如何合并两个表?
我有两个表,每个表有50000个数据。这两个表id都从1-50000开始,所以当我尝试使用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开始,表_
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应用程序等。这就是为什么我写了“或另一种最喜欢的语言”