[SQL] MySQL은 부울 값 부울 VS TINYINT (1)
SQLMySQL은 부울 값 부울 VS TINYINT (1)
어떤 컬럼 유형은 부울 값에 대한 MySQL 데이터베이스에 사용하는 것이 가장 좋습니다? 나는 부울 사용하지만 내 동료가 TINYINT (1)를 사용합니다.
해결법
-
==============================
1.이러한 데이터 유형은 동의어입니다.
이러한 데이터 유형은 동의어입니다.
-
==============================
2.나는 여기에 다른 접근을하고 컴파일러 / 데이터베이스와 같이 동료 개발자가 코드를 이해하는 것이 똑같이 중요하다고 제안하기 위하여려고하고있다. 부울을 사용하여, 그러나 그것은 의미 당신의 의도가 무엇인지 전달하는 장점이있다, TINYINT를 사용하는 것과 같은 일을하고, 그 가치가 뭔가 할 수 있습니다.
나는 여기에 다른 접근을하고 컴파일러 / 데이터베이스와 같이 동료 개발자가 코드를 이해하는 것이 똑같이 중요하다고 제안하기 위하여려고하고있다. 부울을 사용하여, 그러나 그것은 의미 당신의 의도가 무엇인지 전달하는 장점이있다, TINYINT를 사용하는 것과 같은 일을하고, 그 가치가 뭔가 할 수 있습니다.
당신이 TINYINT를 사용하는 경우, 당신이 볼 수있는 유일한 값은 0과 1. 부울는 항상 참 또는 거짓임을 분명 아니다.
-
==============================
3.부울 MySQL은 별개의 데이터 유형 아니다; 그것은 TINYINT 단지의 동의어입니다. MySQL의 설명서에이 페이지를 참조하십시오.
부울 MySQL은 별개의 데이터 유형 아니다; 그것은 TINYINT 단지의 동의어입니다. MySQL의 설명서에이 페이지를 참조하십시오.
개인적으로 나는 그것이 잠재적으로 코드를 오해의 소지가있게 때문에 부울, 그것은 이름에서 무엇을 생각하지 않기 때문에, 선호로 사용 TINYINT을 건의 할 것입니다. 그러나 실제적인 수준에서, 정말 중요하지 않습니다 - 그들은 둘 다 그래서 당신이 얻고 또는 중 하나를 사용하여 아무것도 잃지하지 않는, 같은 일을.
-
==============================
4.열거 사용의 쉽고 빠른
열거 사용의 쉽고 빠른
난 TINYINT (1) 8 개 비트를 필요로하는 동안 부울 값을 저장하기 위해 단지 1 비트 비트 (1)와 같은 요구를 ENUM 또는 TINYINT (1)을 추천 할 수 없습니다.
심판
MySQL은 부울 값 ENUM (0, 1) 대 TINYINT
-
==============================
5.이 부울 및 TINYINT (1) 기능적으로 동일하다는 사실이지만 그것은 당신이 뭘 하려는지의 의미 론적 의미를 전달하기 때문에, 부울이 선호하는 옵션이 있어야합니다. 또한, 많은으로 ORMs은 프로그래밍 언어의 기본 부울 형으로 부울 변환합니다.
이 부울 및 TINYINT (1) 기능적으로 동일하다는 사실이지만 그것은 당신이 뭘 하려는지의 의미 론적 의미를 전달하기 때문에, 부울이 선호하는 옵션이 있어야합니다. 또한, 많은으로 ORMs은 프로그래밍 언어의 기본 부울 형으로 부울 변환합니다.
-
==============================
6.MySQL로 연결하기 위해 단정를 사용하여 내 경험이 중요합니까 것입니다. 나는 다음과 같은 스크립트를 사용하여 입력 가능 TINYINT (1)에 비 null 허용 비트 (1) 변경 :
MySQL로 연결하기 위해 단정를 사용하여 내 경험이 중요합니까 것입니다. 나는 다음과 같은 스크립트를 사용하여 입력 가능 TINYINT (1)에 비 null 허용 비트 (1) 변경 :
ALTER TABLE TableName MODIFY Setting BOOLEAN null;
그리고 단정는 예외를 던지기 시작했다. 나는 전에하고 스크립트 후 차이를보고했습니다. 그리고 발견 비트 (1) TINYINT (1)로 변경했다.
나는 다음 실행 :
ALTER TABLE TableName CHANGE COLUMN Setting Setting BIT(1) NULL DEFAULT NULL;
어떤 문제를 해결했다.
from https://stackoverflow.com/questions/3751853/boolean-vs-tinyint1-for-boolean-values-in-mysql by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] 어떻게 SQL Server 인스턴스에 대한 데이터 디렉터리를 찾을 수 있습니까? (0) | 2020.06.02 |
---|---|
[SQL] SQL 쿼리하지 다른 테이블에 ID와 기록을 찾을 수 (0) | 2020.06.02 |
[SQL] 우리는 그것없이 가입 할 수있을 때 왜 기본 - 외부 키 관계가 필요합니까? (0) | 2020.06.02 |
[SQL] 엔티티 프레임 워크 4 코드 첫 번째로 사용 오류 데이터베이스 (0) | 2020.06.02 |
[SQL] 왼쪽은 왼쪽 테이블에서 중복 행없이 가입 (0) | 2020.06.02 |