[mysql] 기본값으로 false를 사용하여 MySQL에서 부울 열을 만드시겠습니까?
boolean
기본값이 인 열 을 사용하여 MySQL에서 테이블을 만들고 싶습니다 false
. 하지만 기본적으로 NULL을 받아들이고 있습니다.
답변
기본값으로 ( 0
거짓을 의미) 또는 1
(참을 의미 ) 를 지정해야 합니다. 예를 들면 다음과 같습니다.
create table mytable (
mybool boolean not null default 0
);
FYI : 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)
답변
참 / 거짓에 대해 MySQL에서 ENUM을 사용하면 추가 코드없이 참 / 거짓 값을주고받습니다.
ALTER TABLE `itemcategory` ADD `aaa` ENUM('false', 'true') NOT NULL DEFAULT 'false'
답변
다음과 같이 생성시 기본값을 설정할 수 있습니다.
CREATE TABLE Persons (
ID int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int,
Married boolean DEFAULT false);
답변
부울 열을 null이 아닌 것으로 만드는 경우 기본 ‘기본값’값은 false입니다. 명시 적으로 지정할 필요가 없습니다.