반응형
MySQL에서 false를 기본값으로 사용하여 부울 열을 생성하시겠습니까?
MySQL에서 테이블을 만들고 싶다.boolean
기본값이 다음과 같은 열false
하지만 NULL을 기본값으로 받아들이고 있습니다.
다음을 지정해야 합니다.0
(잘못된 의미) 또는1
(true라는 의미)가 디폴트로 되어 있습니다.다음은 예를 제시하겠습니다.
create table mytable (
mybool boolean not null default 0
);
참고:boolean
의 에일리어스입니다.tinyint(1)
.
그 증거는 다음과 같습니다.
mysql> create table mytable (
-> mybool boolean not null default 0
-> );
Query OK, 0 rows affected (0.35 sec)
mysql> insert into mytable () values ();
Query OK, 1 row affected (0.00 sec)
mysql> select * from mytable;
+--------+
| mybool |
+--------+
| 0 |
+--------+
1 row in set (0.00 sec)
참고로 내 테스트는 다음 버전의 MySQL에서 수행되었습니다.
mysql> select version();
+----------------+
| version() |
+----------------+
| 5.0.18-max-log |
+----------------+
1 row in set (0.00 sec)
다음과 같이 작성 시 기본값을 설정할 수 있습니다.
CREATE TABLE Persons (
ID int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int,
Married boolean DEFAULT false);
True/False에 대해서는 MySQL에서 ENUM을 사용합니다. 추가 코드 없이 True/False 값을 주고 받습니다.
ALTER TABLE `itemcategory` ADD `aaa` ENUM('false', 'true') NOT NULL DEFAULT 'false'
부울 열을 null이 아닌 것으로 설정하는 경우 기본값인 'default' 값은 false이므로 명시적으로 지정할 필요가 없습니다.
언급URL : https://stackoverflow.com/questions/2221069/create-boolean-column-in-mysql-with-false-as-default-value
반응형
'programing' 카테고리의 다른 글
목록에 있는 모든 아이템을 Python과 함께 곱하려면 어떻게 해야 하나요? (0) | 2023.01.20 |
---|---|
Java에서 문자열 배열을 문자열로 변환 (0) | 2023.01.20 |
MySQL - 첫 번째 문자가 소문자 또는 대문자일 경우 선택합니다. (0) | 2023.01.10 |
n번째 문자마다 문자열 분할 (0) | 2023.01.10 |
창을 다시 활성화하고 있습니다.Chrome 경고 (0) | 2023.01.10 |