MySQL BOOL ve BOOLEAN sütun veri türleri arasındaki fark nedir?


88

MySQL sürüm 5.1.49-1ubuntu8.1 kullanıyorum. İki farklı veri türünün sütunlarını tanımlamama izin veriyor: BOOLve BOOLEAN. İki tür arasındaki farklar nelerdir?

Yanıtlar:


136

Her ikisi de TINYINT (1) ile eşanlamlıdır .


11
Adam ne diyor. MySQL'de gerçek BOOLEAN türü yoktur.
Mchl

25

Diğer yorumlarda belirtildiği gibi, TINYINT (1) ile eşanlamlıdırlar.

* Öyleyse neden bool, boolean, tiny * int (1) arasında ayrım yapmakla uğraşıyorlar ?

Çoğunlukla anlambilim.

Bool ve Boolean: MySQL varsayılanı bunları tinyint türüne dönüştürür. Bu yazının yazıldığı sırada yapılan bir MySQL ifadesine göre, "Gelecekteki bir MySQL sürümünde standart SQL'e uygun olarak tam boole türü işlemeyi uygulamayı planlıyoruz."

0 = YANLIŞ 1 = DOĞRU

TINYINT: Bir bayt kaplar; -128 ile +127 arasında değişir; veya 0 - 256.


Bu karşılaştırmada sıkça dile getirilen: MySQL 5.0.3'ten Sonra - Bit: 8 bayt kullanır ve yalnızca ikili verileri depolar.


2
Bu gerçekten soruya cevap vermiyor. Arasındaki fark nedir BOOLve BOOLEAN?
nalply

7
Daha önceki gönderiler zaten her ikisinin de TINYINT (1) ile eşanlamlı olduğunu belirlemişti. İdeal olarak, sonraki soru "O halde neden veri türleri arasında ayrım yaptılar?"
Sixthfore

3
@S Sixthfore Bit: Uses 8 bytes and stores only binary data.yanlış bilgidir. Tablonuza bir bitlik sütun eklediğinizde, sadece tek bir biti değil, her kayıtta tam bir bayt kaplayacaktır. İkinci bir bit sütunu eklediğinizde, aynı baytta saklanacaktır. Dokuzuncu bit sütunu, ikinci bir depolama baytı gerektirecektir.
Kolyunya

4

Az önce fark ettiğim bir şey - MySql'de BOOL olarak tanımlanan bir sütunla, Spring Roo, değeri bir Boolean'a ayırmak için Java kodunu doğru bir şekilde üretir, bu nedenle BOOL'u belirtmek, yalnızca bir ipucu niteliğinde olsa bile, bir değer katabilir. sütunun kullanım amacı.


Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.