[英]best practice to store Unlimited/Max value in DB
在某些情况下,我需要存储一个无限的值(或最大值,无论您喜欢用什么名称),这对业务没有限制。
我考虑了一些选择:
使字段为Nullable,并使用DB NULL表示这种情况。 但是问题是我必须在需要比较或显示的地方进行检查。
使用给定类型的实际最大值(例如,整数,我可以使用最大的Int32值),但是这需要在数据库级别进行一些调整-我必须在该字段上写一个约束(因为我可以使用固定的十进制长度)或Integer DB类型)来限制最大值,这对业务也没有意义。
使用预定义的大值(可能对业务有意义)来表示它并将其存储在数据库级别,同样,我必须将约束写入db字段。
我以前在不同的情况下都使用过它们,并且它们都还不错,但是要知道,处理一些特定的案例是很痛苦的。
我的问题有点宽泛:你们对此有何建议? 有哪些良好/最佳实践?
任何帮助/建议表示赞赏。
我认为将其存储为单独的列IsXyzUnlimited
可能是一个很好的替代做法。
由于它并不表示null,所以最好将其表示为null。 如您所述,在调用它之前还存在检查它的问题。
而且,正如您提到的,其他两个值可能具有商业意义。 如果您希望数据能够自动显示有关业务的信息,请明确地说“嘿,业务,当选中此框时,这是无限的”。 没有神奇的价值。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.