亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

用于存儲布爾值的MySQL數據類型

用于存儲布爾值的MySQL數據類型

炎炎設計 2019-06-29 14:50:18
用于存儲布爾值的MySQL數據類型因為MySQL似乎沒有任何“布爾”數據類型,所以在MySQL中存儲真實/錯誤信息時,您會“濫用”哪種數據類型?特別是在編寫和讀取PHP腳本時。隨著時間的推移,我使用并看到了幾種方法:包含值0/1的varchar字段,包含字符串‘0’/‘1’或‘true’/‘false’的varchar字段最后,枚舉字段包含兩個選項“true”/“false”。上述任何一項似乎都不是最理想的。我傾向于使用tinyint 0/1變量,因為PHP中的自動類型轉換給了我布爾值。那么,您使用哪種數據類型呢?是否有為我忽略的布爾值設計的類型?你認為使用一種或另一種類型有什么好處/缺點嗎?
查看完整描述

3 回答

?
BIG陽

TA貢獻1859條經驗 獲得超6個贊

BOOLBOOLEAN同義詞TINYINT(1)..零是false,其他的都是true..

查看完整回答
反對 回復 2019-06-29
?
冉冉說

TA貢獻1877條經驗 獲得超1個贊

這是一個優雅的解決方案,我非常欣賞,因為它使用的是零數據字節:

some_flag CHAR(0) DEFAULT NULL

若要將其設置為真,請將其設置為some_flag = ''把它設為假的some_flag = NULL.

然后,要測試是否為true,請檢查是否有一些標志IS NOT NULL,若要測試是否為false,請檢查是否有某個標志IS NULL.

(這個方法在JonWarrenLentz、BaronSchwartz和ArjenLentz的“高性能MySQL:優化、備份、復制和更多”中進行了描述。)


查看完整回答
反對 回復 2019-06-29
  • 3 回答
  • 0 關注
  • 3005 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號