gpt4 book ai didi

mysql - 在mysql中存储固定数量的项目

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

我将以固定值和固定顺序存储抽奖号码 (1-60)。

One draw has 4 numbers
another has 6 numbers
and another 2 numbers

我的想法是在单独的 SQL 表中分离每种绘制类型。问题是,将数字存储在由分隔符分隔的单列中是否是最佳选择......

ID(int) | numbers(varchar)

或者将每个数字存储在单独的列中?

ID(int) | num1(tinyint) | num2(tinyint) | num3(tinyint) | num4(tinyint)

存储号码时我不需要搜索它们。

最佳答案

如果您不需要单独搜索它们或单独检索它们,那么从数据库角度来看它们只是一个不透明的“blob”,并且您不会违反principle of atomicity和 1NF 将它们存储到单个字段中。

但是,仅仅因为现在是这样,并不意味着将来不会改变。所以至少使用第二个选项。此外,这还允许 DBMS 强制域的完整性并确保这些实际上是数字并且只是任何字符串。

但是,为了让您的数据面向 future ,我会更进一步并使用以下结构:

enter image description here

除了以统一的方式处理数字并避免许多 NULL 之外,它还允许您轻松地改变最大值。数字的数量(如果有必要的话)。我怀疑在这种结构中查询也会更容易。

顺便说一句,如果没有(其他字段),并且如果没有至少一个号码就无法存在平局,那么您可以完全放弃平局表,而只使用 DRAW_NUMBER。

关于mysql - 在mysql中存储固定数量的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10978601/

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