通过对比表向表中添加数据

  • 本文关键字:添加 数据 mysql sql-update
  • 更新时间 :
  • 英文 :


我正在努力将这个大表拆分为更小的表,以便通过外键更容易地管理,并且在试图将数据重新组合在一起时遇到了一个困境。我是新的工作与这种类型的数据合并,所以我有点迷路。

有3个表:一个表包含产品所有者列表,一个表包含他们负责的系统列表,原始表包含所有数据(示例如下):

Product Owners Table:
+----+---------------+
| id | product_owner |
+----+---------------+
|  1 | User1         |
+----+---------------+
PRIMARY KEY: id
System Table:
+----+-----------+---------------+
| id | system    | product_owner |
+----+-----------+---------------+
|  6 | Server1   |          NULL |
+----+-----------+---------------+
FOREIGN KEY: product_owner(id)
Original Table:
+---------+---------------+
| system  | product_owner |
+---------+---------------+
| Server1 | User1         |
+---------+---------------+

我想从原始表中获取数据并将其与新的系统表合并,但是我不想走多个UPDATE语句的路线来添加需要添加的内容。解决这个问题的最佳途径是什么?

经过更多的探索和阅读额外的术语,我能够通过使用join语句与update,setwhere语句的混合来解决我的问题:

update system_table a
join original_table.system b
on a.system = b.system
join product_owner c
on c.product_owner = b.product_owner
set a.product_owner = c.id
where c.product_owner = b.product_owner;

相关内容

  • 没有找到相关文章

最新更新