Создать булев столбец в MySQL с ложью как значение по умолчанию?

Я хочу составить таблицу в MySQL с a boolean столбец, значение по умолчанию которого false. Но это принимает ПУСТОЙ УКАЗАТЕЛЬ как значение по умолчанию...

114
задан user1623521 7 November 2016 в 09:20
поделиться

1 ответ

Вы должны указать 0 (значение false) или 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)

FYI: Мой тест был проведен на следующей версии MySQL:

mysql> select version();
+----------------+
| version()      |
+----------------+
| 5.0.18-max-log |
+----------------+
1 row in set (0.00 sec)
187
ответ дан 24 November 2019 в 02:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: