MySQL沒有定義獨特的布爾數據類型,而是選擇爲TINYINT(1)生成BOOL和BOOLEAN別名。這是爲什麼?爲什麼MySQL不定義布爾數據類型?
回答
如果我正確理解你的問題,這是因爲Boolean values in MySql只是常量別名爲1或0,並依賴於使用的基礎類型。
一個布爾數據類型只是映射到一個1位的小整數。你可以在這裏找到更多的:http://dev.mysql.com/doc/refman/5.0/en/numeric-type-overview.html
這不解釋*爲什麼*。在鏈接中,我讀到「我們打算在未來的MySQL版本中按照標準SQL實現完整的布爾類型處理。」什麼是優勢?爲什麼沒有完成? – ewernli 2010-03-06 10:06:50
這是因爲SQL規範沒有定義一個,直到SQL:1999,它沒有強制執行。 MySQL在大多數組件之前只是爲了允許關鍵字MSSQL,DB2和Oracle使用BIT和一些真/假常量來僞造它。
(基本上,它是說,雖然SQL規範規定它的發音一樣的道理「ess queue ell,」我認識的人只是說「的續集,」因爲我們是懶惰&瞭解情況。)
偉大的鏈接。它解釋了真正的原因:關於如何處理NULL的無盡討論。超過15年後,只有PostgreSQL真的支持它。對於這種通常要求的數據類型有多瘋狂? – Nate 2015-11-03 23:54:05
- 1. 爲什麼Objective-C布爾型數據類型被定義爲signed char?
- 2. 什麼是在MySQL中存儲布爾值的數據類型?
- 3. 什麼布爾類型
- 4. 爲什麼我們在Firebird中沒有布爾數據類型?
- 5. C++中的布爾型數據類型是什麼
- 6. rethinkdb協議:爲什麼數字數據類型定義爲Double
- 7. Dapper將MySql BIT(1)數據類型映射爲ulong而不是布爾型
- 8. mysql上的布爾類型
- 9. 布爾類型的自定義聲明
- 10. 爲什麼Interlocked.Exchange不支持布爾類型?
- 11. 爲什麼graphql,紅寶石的布爾類型不是空值
- 12. 運算符^未定義爲參數類型int,布爾值
- 13. 運算符!=未定義爲參數類型(s)布爾值,int
- 14. 爲什麼人們在php中定義數據類型?
- 15. 我應該將CUSIP定義爲什麼數據庫類型?
- 16. 爲什麼使用Windows定義的數據類型?
- 17. 爲什麼C中的布爾類型寫爲_Bool?
- 18. GLib爲什麼重新定義類型?
- 19. unix_timestamp(MySQL)的數據類型是什麼?
- 20. 類型轉換爲布爾
- 21. 推理與布爾數據類型
- 22. NHibernate的數據類型 - NoYes布爾
- 23. Polymer自定義元素屬性爲布爾類型的值
- 24. 布爾類型
- 25. 爲什麼在返回TRUE/FALSE到布爾類型時出錯?
- 26. 在RAML中將JSON布爾類型定義爲RESTful主體類型
- 27. 運算符'='沒有爲類型'DBNull'定義,而是類型'布爾'。?/
- 28. 數組類型布爾
- 29. 「類型不匹配:無法從布爾型轉換爲布爾型」
- 30. Hibernate + SQL Azure =找不到數據類型布爾型
這並不能解釋爲什麼*。 – ewernli 2010-03-06 10:08:19