[英]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.