mysql可以存布尔_哪个MySQL数据类型用于存储布尔值
由于MySQL似乎沒有任何“布爾”數據類型,你濫用'哪種數據類型'來存儲MySQL中的真/假信息?
特別是在寫入和讀取PHP腳本的上下文中。
隨著時間的推移,我使用并看到了幾種方法:
tinyint,包含值0/1的varchar字段,
包含字符串'0'/'1'或'true'/'false'的varchar字段
最后枚舉包含兩個選項'true'/'false'的字段。
以上都不是最佳的。 我更傾向于使用tinyint 0/1變體,因為PHP中的自動類型轉換非常簡單地給出了布爾值。
那你使用哪種數據類型? 有沒有為布爾值設計的類型,我忽略了? 您是否看到使用某種類型的優點/缺點?
#1樓
我厭倦了嘗試獲得零,NULLS,并且''準確地圍繞PHP,MySql和POST值的循環,所以我只使用'是'和'否'。
這種方法完美無缺,不需要特別的處理,這種處理不明顯且容易做到。
#2樓
參考Mysql中的這個鏈接布爾數據類型 ,根據應用程序的用法,如果只想存儲0或1,則bit(1)是更好的選擇。
#3樓
我使用TINYINT(1)來在Mysql中存儲布爾值。
我不知道使用這個是否有任何好處...但如果我沒有錯,mysql可以存儲boolean(BOOL)并將其存儲為tinyint(1)
#4樓
對于MySQL 5.0.3及更高版本,您可以使用BIT 。 手冊說:
從MySQL 5.0.3開始,BIT數據類型用于存儲位字段值。 一種BIT(M)允許存儲M位值。 M的范圍為1到64。
否則,根據MySQL手冊,你可以使用bool和boolean,它們是tinyint (1)的別名:
Bool,Boolean:這些類型是TINYINT (1)的同義詞。 值為零被視為false。 非零值被認為是真實的。
MySQL還聲明:
我們打算在未來的MySQL版本中按照標準SQL實現完整的布爾類型處理。
#5樓
BOOL和BOOLEAN是TINYINT(1)同義詞。 零是false ,其他任何事都是true 。 更多信息在這里 。
總結
以上是生活随笔為你收集整理的mysql可以存布尔_哪个MySQL数据类型用于存储布尔值的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 苹果截屏有什么简单方法
- 下一篇: 植物大战僵尸电脑版在线玩