gpt4 book ai didi

php - MySQL 表间自增

转载 作者:可可西里 更新时间:2023-11-01 06:57:47 25 4
gpt4 key购买 nike

在 MySQL 中,是否可以在两个不同的表中有一个自增列?示例:table1 有一列'secondaryid',table2 也有一列'secondaryid'。是否可以让 table1.secondaryid 和 table2.secondaryid 保存相同的信息?像 table1.secondaryid 可以保存值 1、2、4、6、7、8 等,而 table2.secondaryid 可以保存值 3、5、9、10?这样做的原因是双重的:1)这两个表将在单独的“喜欢”表中引用(类似于用户喜欢 facebook 上的页面)和 2)table2 中的数据是使用主键的 table1 的子集。所以 table2 中的信息是依赖于 table1 的,因为它们是不同类别的主题。 (类别是表 1,主题是表 2)。是否可以执行上述操作,或者是否有一些我不知道的其他结构性工作?

最佳答案

看起来你想在两个单独的表中区分类别和主题,但是在另一个表likes中引用它们的id,以方便用户喜欢类别或主题。

您可以做的是创建一个包含子类型categoriestopics 的超实体表。自动递增键将在超实体表中生成,并仅插入到两个子类型表之一(基于它是类别还是主题)。

子类型表通过 1:1 关系中的自动递增字段引用此超实体。

这样,您可以简单地将 super 实体表链接到仅基于一列(可以表示类别或主题)的likes表,而无需id 在子类型表中将出现在两者中。

这是一个简化的示例,说明如何对此进行建模:

ER Model

此模型允许您维护类别和主题之间的关系,但在 superentity 表中概括了两个实体。

此模型的另一个优点是您可以将子类型表中的公共(public)字段抽象到超实体表中。例如,categoriestopics 都包含字段 titleurl:您可以将这些字段放在superentity 表,因为它们是其子类型的公共(public)属性。仅将特定于子类型表的字段放在子类型表中。

关于php - MySQL 表间自增,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11703470/

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