mysql - 如何合并两个具有相同结构的mysql表

标签 mysql sql merge

我有 2 个具有相同结构和相同 ID(作为主键)但数据不同的表:

two mysql tables with same structure but different data

现在,我需要合并它们并得到类似这样的东西:

merged mysql table

重要的是不要更改行的 ID 并且不要插入新记录。

我如何使用 MySQL 查询来做到这一点?

最佳答案

认为您只需要使用两个表的 INNER JOIN 执行 UPDATE 查询。我假设 id 列是这样实现的

UPDATE table1 a
INNER JOIN table2 b
ON a.id = b.id
SET a.fax = b.fax

否则你可以设置一个新表并通过连接两个之前的表来取值

INSERT INTO table3 (id, tel, fax) 
SELECT a.id, a.tel, b.fax
FROM table1 a
INNER JOIN table2 b
ON a.id = b.id

关于mysql - 如何合并两个具有相同结构的mysql表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22263775/

相关文章:

mysql - 如何以容错方式连接时间戳列

Mysql 将表中的字段合并到另一个表中

git - 如何从 Git 中的 merge 中排除文件?

java - 通过 JTable 删除 MySQL 数据库中的选定行

mysql - 根据created_at日期获取每个月的运行总计

mysql - 优化大表(75M+ 行)上的简单 mysql select

sql - 合并语句: Don't update blank field

php - as3 使用 PDO 向 PHP 发送数据

sql - RedShift GROUP BY 常量列给出不一致的结果

sql - 如何在 pl sql 中为匿名 block 或查询设置超时?