Mysql 将2个数据库合并到另一个数据库中,但不包含重复记录

Mysql 将2个数据库合并到另一个数据库中,但不包含重复记录,mysql,Mysql,我有一个问题,我想合并2个数据库到另一个,但问题是有重复的行。那么,如何在没有重复记录的情况下将这两个数据库合并到另一个数据库中呢?我希望有人能帮助我 数据库1 名称|编号|代码 演示| 0293 | 827 测试| 0482 | 923 数据库2 名称|编号|代码 Lol | 0223 | 182 堆栈| 1923 | 829 演示| 0293 | 827 谢谢 我想你说的是表格而不是数据库。在查询中使用GROUPBY子句或查找不同的值。您还没有指定任何主键。因此,请先阅读mysql教程。这应

我有一个问题,我想合并2个数据库到另一个,但问题是有重复的行。那么,如何在没有重复记录的情况下将这两个数据库合并到另一个数据库中呢?我希望有人能帮助我

数据库1 名称|编号|代码 演示| 0293 | 827

测试| 0482 | 923 数据库2 名称|编号|代码 Lol | 0223 | 182 堆栈| 1923 | 829 演示| 0293 | 827

谢谢

我想你说的是表格而不是数据库。在查询中使用GROUPBY子句或查找不同的值。您还没有指定任何主键。因此,请先阅读mysql教程。

这应该使用唯一键和重复键来完成。如果不愿意这样做,以下措施也会起作用:

假设表是相同的,并且仅当所有列都与目标表中的行相同时才希望排除行

INSERT into Table1 
 SELECT * from Table2 
 WHERE concat(Name,'|',Number,'|',Code) not in (
  SELECT concat(Name,'|',Number,'|',Code) 
  FROM Table1
 )

谢谢,但是我怎样才能删除其中一个相同的行呢?从表2中删除其中的代码,从表1中选择代码;您可以与代码、名称或数字进行比较,它们可能是redundent,如果列不相同怎么办?例如,如果table1有一个额外的列?那么您必须指定列:插入table1 Col1,Col2,Col3从Table2中选择Col1,Col2,Col3…..这非常有效。事实上,它回答了我今天早些时候发布的一个问题,没有任何完整的外部联接。
INSERT into Table1 
 SELECT * from Table2 
 WHERE concat(Name,'|',Number,'|',Code) not in (
  SELECT concat(Name,'|',Number,'|',Code) 
  FROM Table1
 )