gpt4 book ai didi

mysql - 是否可以使用动态外键,最好/正确的做法是什么?

转载 作者:可可西里 更新时间:2023-11-01 08:17:15 27 4
gpt4 key购买 nike

例如:我有一个带有外键的“历史”表,它可能根据字段值指向不同的表/实体。

表历史:

create table history(
id int PimaryKey AUTO_INC,
elementid int, (ForeignKey)
elementtype varchar
)

此表的填充示例:

id               ElementId           ElementType
1 1 Device
2 2 Simcard
3 2 Simcard

这告诉我们有

  • ID 为“1”的“设备”类型实体的 1 条记录
  • ID 为“2”的“Simcard”类型实体的 2 条记录

目标是拥有一个可用于多个实体的表。

这是集成动态外键的正确方法吗?我还想到的是创建一个包含表/实体的列表以供引用所以表格看起来像:

ALTER TABLE history MODIFY ElementType INTEGER;

ElementType 指的是:

create table entities(
id int PimaryKey AUTO_INC,
name varchar
)

例如填充新表历史记录:

id               ElementId           ElementType
1 1 1
2 2 2
3 2 2

填充实体表例如:

id               name
1 Device
2 Simcard

最佳答案

实现动态 FK 的正确方法是不做。

这是 reasons why , 和什么 do instead .

关于mysql - 是否可以使用动态外键,最好/正确的做法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22372660/

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