2011-01-20 17 views

risposta

121

Entrambi sinonimi di TINYINT (1).

+9

Cosa dice Adam. Non esiste un tipo BOOLEAN effettivo in MySQL. – Mchl

3

Una cosa che ho appena notato - con una colonna definita come BOOL in MySql, Primavera Roo genera correttamente il codice Java per unmarshall il valore a un valore booleano quindi, presumibilmente, specificare BOOL può aggiungere qualche valore, anche se è solo nella natura di un suggerimento circa l'uso previsto della colonna.

17

Come stabilito in altri commenti, sono sinonimi di TINYINT (1).

* Quindi, perché si preoccupano di distinguere tra booleano, booleano, minuscolo * int (1)?

Per lo più semantica.

Bool e Boolean: MySQL predefinito li converte nel tipo tinyint. Per una dichiarazione di MySQL fatta al momento della stesura di questo articolo, "Intendiamo implementare la gestione completa del tipo booleano, in accordo con lo standard SQL, in una futura versione di MySQL."

0 = FALSE 1 = TRUE

TINYINT: occupa un byte; varia da -128 a +127; o, 0 - 256.


Comunemente portato in questo confronto: Dopo MySQL 5.0.3 - Bit: utilizza 8 byte e memorizza solo dati binari.

+1

Questo in realtà non risponde alla domanda. Qual è la differenza tra 'BOOL' e' BOOLEAN'? – nalply

+7

I post precedenti avevano già stabilito che entrambi sono sinonimi di TINYINT (1). Idealmente, la prossima domanda sarebbe "Perché, allora, hanno fatto una distinzione tra i tipi di dati?" – Sixthfore

+1

@Sixthfore il 'Bit: utilizza 8 byte e memorizza solo dati binari. 'Sono informazioni errate. Quando aggiungi una colonna bit alla tua tabella occuperà un intero byte in ogni record, non solo un singolo bit. Quando aggiungi una colonna di secondo bit, questa verrà memorizzata nello stesso byte. La colonna nono bit richiederà un secondo byte di memoria. – Kolyunya

Problemi correlati