gpt4 book ai didi

mysql - bool 字段作为唯一索引

转载 作者:行者123 更新时间:2023-11-29 04:10:29 28 4
gpt4 key购买 nike

Bool 字段能否成为唯一索引并与另一个表的索引一起用于外键关系?

我不认为它可以成为主键,但是唯一索引呢?每次我尝试将其变成唯一索引时,它都会将其转换为 tinyint。

编辑

所以我有一个SQL关系问题。假设我有一个数据库,我想在其中保存有关个人的信息记录。现在我已经设置了一个表来获取这些信息。好的,到目前为止一切顺利。

经常可以在表中发现重复的信息并将其删除。如果特定字段与另一行中的另一个字段具有相同的值,则记录被认为是重复的。示例:重复的电子邮件。

现在我想在数据库中创建另一个表来跟踪发现和删除的每个重复项。我首先想到的是创建外键关系。所以我创建了一个 dupes 表并将其连接到我的 persons 表。该关系是具有删除约束的简单外键到主键关系。

虽然一开始这可能有效,但出现了问题,即 dupes 表正在接收被删除的记录,即使它们没有被删除,因为它们是 dupes。这是一个问题,因为即使我只是因为不喜欢某个人而决定从 persons 表中删除他们,他们仍然会存储在 dupes 表中。

然后我想,为什么不在 persons 表中创建一个处置字段并将其作为唯一键或主键连接到我的 dupes 表的索引外键。好吧,问题是一个唯一的键必须有一个唯一的值,所以多次配置 dupe 或我不喜欢你是行不通的。另一种选择是使处置字段成为主键。但这也有同样的问题。

这个问题的正确关系是什么?

最佳答案

本质上,sql 中的 bool 值(或 mssql 中的位)是一个非常短的整数。所以基本上没有理由不允许它作为外键。但从设计的角度来看,这没有任何意义。

关于mysql - bool 字段作为唯一索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12454285/

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