gpt4 book ai didi

mysql - 多个表的外键

转载 作者:行者123 更新时间:2023-11-30 00:58:27 26 4
gpt4 key购买 nike

我正在重构数据库结构,但遇到了一些问题。该数据库有各种具有相同结构的表,例如:

人员 -> People_contacts

事件 -> 事件_联系人

现在,我只想创建一个 Contact 表,并使用 ENUM() 来区分父表的性质(用于搜索要求和数据可逆性)

结构将是:

人员 -> 联系人[人员]

事件 -> 联系人[事件]

但现在我需要放置一个外键,并根据 ENUM 属性区分两个不同的表...我该如何努力呢?有办法或者更好地维护旧表吗?

最佳答案

为什么要使用 View ?如果 People_contactsActivities_contacts 完全相同,您可以尝试以下操作:

create view `test` as select *,'People' as Type from `People_contacts` union select *,'Activities' from `Activities _contacts` union;

然后从 View 中选择您想要的内容:

select * from `test` where Type = 'People' and .....

您的查询答案应该是这样的

+----+------+   +--------+
| ID | Data |...| Type |
+----+------+ +--------+
| 1 | foo |...| People |
| 2 | foo |...| People |
+----+------+ +--------+

关于mysql - 多个表的外键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20358352/

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