gpt4 book ai didi

sql - 是否使用 Null 来表示 Value Bad Practice?

转载 作者:行者123 更新时间:2023-12-04 22:02:36 25 4
gpt4 key购买 nike

如果我使用 null 作为数据库表中所有内容的表示,那是不好的做法吗?

IE。

我有表:myTable(ID) 和 myRelatedTable(ID,myTableID)

myRelatedTable.myTableID 是 myTable.ID 的 FK

我想要完成的是:如果 myRelatedTable.myTableID 为空,那么我的业务逻辑会将其解释为链接到所有 myTable 行。

我想这样做的原因是因为在创建 myRelatedTable 行之后,我有未知数量的行可以插入到 myTable 中,并且 myRelatedTable 中的某些行需要引用 myTable 中的所有现有行。

最佳答案

我不认为 N​​ULL 是最好的方法,但您可以使用单独的 tinyInt 列来指示 MyRelatedTable 中的行与 MyTable 中的所有内容相关,例如MyRelatedTable.RelatedAll。这将使其他必须维护它的人更加明确。然后你可以做某种联合查询,例如

SELECT M.ID, R.ID AS RelatedTableID,....
FROM MyTable M INNER JOIN MyRelated Table R ON R.myTableId = M.Id
UNION
SELECT M.ID, R.ID AS RelatedTableID,....
FROM MyTable M, MyRelatedTable R
WHERE R.RelatedAll = 1

关于sql - 是否使用 Null 来表示 Value Bad Practice?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/455924/

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