MySQL BOOL과 BOOLEAN 열 데이터 유형의 차이점은 무엇입니까?


88

MySQL 버전 5.1.49-1ubuntu8.1을 사용하고 있습니다. 두 가지 데이터 유형의 열을 정의 할 수 있습니다 : BOOLBOOLEAN. 두 유형의 차이점은 무엇입니까?

답변:



25

다른 주석에서 설정했듯이 TINYINT (1)의 동의어입니다.

* 그렇다면 왜 그들은 bool, boolean, tiny * int (1)를 구별하는 데 신경을 쓰 나요?

대부분 의미론.

부울 및 부울 : MySQL 기본값은이를 tinyint 유형으로 변환합니다. 이 글을 쓰는 당시 작성된 MySQL 성명에 따르면, "향후 MySQL 릴리스에서 표준 SQL에 따라 완전한 부울 유형 처리를 구현할 계획입니다."

0 = 거짓 1 = 참

TINYINT : 1 바이트를 차지합니다. 범위는 -128에서 +127까지입니다. 또는 0 – 256.


일반적으로이 비교에서 언급 : MySQL 5.0.3 이후-비트 : 8 바이트를 사용하고 바이너리 데이터 만 저장합니다.


2
이것은 실제로 질문에 대한 답이 아닙니다. BOOL과 의 차이점은 무엇입니까 BOOLEAN?
nalply

7
이전 게시물은 이미 둘 다 TINYINT (1)와 동의어임을 설정했습니다. 이상적으로 다음 질문은 "왜 데이터 유형을 구별 했습니까?"입니다.
Sixthfore

3
@Sixthfore Bit: Uses 8 bytes and stores only binary data.는 잘못된 정보입니다. 테이블에 비트 열을 추가하면 단일 비트가 아닌 각 레코드에서 전체 바이트를 차지합니다. 두 번째 비트 열을 추가하면 동일한 바이트에 저장됩니다. 아홉 번째 비트 열에는 두 번째 바이트의 저장 공간이 필요합니다.
Kolyunya

4

내가 방금 알아 차린 한 가지는 MySql에서 BOOL로 정의 된 열을 사용하여 Spring Roo는 값을 Boolean으로 정렬 해제하는 Java 코드를 올바르게 생성하므로 BOOL을 지정하면 아마도 BOOL을 지정하면 일부 값을 추가 할 수 있습니다. 컬럼의 용도.


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.