7
如果只考慮兩個可能的值,0 & 1或真&假,這是很明顯的是,BIT(1)做一個更好的工作:爲什麼MySQL將布爾值解釋爲TINYINT(1)而不是BIT(1)?
- 位(1)軍隊只有2個可能的值:0和1 ,而TINYINT(1)可以接受任何小於10(0,1,2,3,4,5 ....)的可能不明確的整數值。
- 多比特(1),這樣他們需要比多重TINYINT更少的空間列可以合併爲字節(1)的列做。
那麼爲什麼MySQL將布爾值解釋爲TINYINT(1),而不是BIT(1)?在處理布爾值時使用TINYINT(1)而不是BIT(1)有什麼優勢?
+1慣性。在幾乎所有情況下,我仍然使用'TINYINT(1)',因爲沒有理由。 – 2011-12-29 17:53:07
+1也表示慣性。我仍然使用TINYINT(1),因爲我最喜歡的SQL編輯器不允許將BIT數據編輯爲像TINYINT一樣簡單,並且在某些情況下可以節省大量時間。 – Donatello 2014-01-27 14:23:32