gpt4 book ai didi

mysql - 在 MySQL 中复制 n 到 m 关系

转载 作者:行者123 更新时间:2023-11-29 16:01:15 24 4
gpt4 key购买 nike

假设我有两个表recipientlistrecipient 具有idemailcustomer 列。list 包含列 idnamecustomer

两个表均通过 recipient_list 与列 recipient_idlist_id 连接。

recipientlist中,我都有客户“演示客户”的数据以及连接表中的适当条目。

我现在要做的是将这些条目复制包括与其他客户的关系。我知道我可以使用以下架构使用选择插入数据:

INSERT INTO table_name(column_list)
SELECT
select_list
FROM
another_table;

这样我就可以复制recipientlist 的条目。然而,这并不能帮助我复制 n-m 关系。我怎样才能实现这一目标?

编辑:这是我想要实现的目标的一个简短示例:

之前:

recipient
+----+------------------+---------------+
| id | email | customer |
+----+------------------+---------------+
| 1 | test@example.org | Demo Customer |
+----+------------------+---------------+
list
+----+-----------+---------------+
| id | name | customer |
+----+-----------+---------------+
| 1 | demo list | Demo Customer |
+----+-----------+---------------+
recipient_list
+--------------+---------+
| recipient_id | list_id |
+--------------+---------+
| 1 | 1 |
+--------------+---------+

之后:

recipient
+----+------------------+---------------+
| id | email | customer |
+----+------------------+---------------+
| 1 | test@example.org | Demo Customer |
| 2 | test@example.org | Real Customer |
+----+------------------+---------------+
list
+----+-----------+---------------+
| id | name | customer |
+----+-----------+---------------+
| 1 | demo list | Demo Customer |
| 2 | demo list | Real Customer |
+----+-----------+---------------+
recipient_list
+--------------+---------+
| recipient_id | list_id |
+--------------+---------+
| 1 | 1 |
| 2 | 2 |
+--------------+---------+

请注意,主键不一定像示例中那样好。

最佳答案

要插入的查询是

INSERT INTO table_name(column_list)
SELECT
select_list
FROM
another_table
WHERE customer = customer_name;

“another_table”应该是 customer_name 上收件人表和列表表的联接。采用 join 可以消除由于 n-m 关系而产生的不良情况。

关于mysql - 在 MySQL 中复制 n 到 m 关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56191637/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com