gpt4 book ai didi

php - 如何在多个表上设置一个FK(外键)?

转载 作者:行者123 更新时间:2023-11-29 07:30:57 24 4
gpt4 key购买 nike

我有几个 Posts 表和一个 Votes 表。如何防止在 Votes 表中插入不存在的 post_id(在 Posts 表中)?

// Posts_1                  // Posts_2                  // Posts_3
+----+---------+ +----+---------+ +----+---------+
| id | content | | id | content | | id | content |
+----+---------+ +----+---------+ +----+---------+

// Votes
+----+---------+
| id | post_id |
+----+---------+

需要注意的是,实际上 Posts 表的结构是不同的。 (所有 Posts 表的结构不相同),那么我无法将所有 Posts 表合并为一个表。

现在我想防止在 Votes 表中插入无效行。 (无效 = post_id 不存在于 Posts 表中)

因此,如果我只有一个表,我可以在对 Posts.idVotes.post_id 引用上创建一个外键,但问题是有多个 帖子表。好吧,有什么建议吗?

最佳答案

表结构很疯狂。您需要有一个 POST 索引表,它将所有帖子合并到一个位置,并如下所示:

// Posts_Index
+----+---------+------------+
| id | post_id | post_table |
+----+---------+------------+

// Votes
+----+---------+
| id | post_id |
+----+---------+

否则你需要反向映射方式。因此,post_id -> votes.id

关于php - 如何在多个表上设置一个FK(外键)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32677795/

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