MySQL でデフォルト値として false を持つブール列を作成しますか? 質問する

MySQL でデフォルト値として false を持つブール列を作成しますか? 質問する

booleanMySQL で、デフォルト値が である列を持つテーブルを作成したいのですfalseが、デフォルトで NULL が受け入れられます...

ベストアンサー1

デフォルトとして0(false を意味する) または(true を意味する)を指定する必要があります。次に例を示します。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)

おすすめ記事