數據庫表中出場率很是高的一類字段就是狀態(如status、state等),如今我正在設計一個數據庫表,狀態字段有「正常」和「註銷」兩種狀態值。一般會出現如下兩種使用方式:數據庫
0:正常,1:註銷設計
0:註銷,1:正常class
有些人用第一種,有些人用第二種,有區別嗎?數據
就在這危在旦夕的時刻,系統迭代過程當中增長了幾個狀態,好比:鎖定、過時、拉黑,再比較一下兩種方式:異常
0:正常,1:註銷,2:鎖定,3:過時,4:拉黑di
0:註銷,1:正常,2:鎖定,3:過時,4:拉黑block
這時候,是否是看到一點區別了,有沒有發現第一種方式更優雅? 爲何呢?let
由於「幸福的家庭都是類似的,不幸的家庭各有各的不幸」🤣data
正常狀態只有一種用0表示,一、二、3等分別表明不一樣的異常狀況。好像有點道理啊,更況且還有意外收穫,能夠用 status > 0 檢索全部異常狀態。delete
再提醒一下上邊邏輯嚴謹一致的那位小哥哥,此處字段名是status並且是數值類型,與boolean類型沒有任何瓜葛。若是你的字段名是是is_deleted,我認爲你用0表明非、1表明是,那才真是邏輯嚴謹。
以上就是個人一些胡言亂語,若是大家以爲有點道理,但願幫到大家,若是有說錯的地方但願和你們撕逼,哈哈,謝謝!