Saya ingin membuat tabel di MySQL dengan boolean
kolom yang nilai default-nya adalah false
. Tapi itu menerima NULL sebagai default ...
127
Anda harus menentukan 0
(artinya salah) atau 1
(artinya benar) sebagai default. Berikut ini contohnya:
create table mytable (
mybool boolean not null default 0
);
FYI: boolean
adalah alias untuk tinyint(1)
.
Ini buktinya:
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: Pengujian saya dilakukan pada versi MySQL berikut:
mysql> select version();
+----------------+
| version() |
+----------------+
| 5.0.18-max-log |
+----------------+
1 row in set (0.00 sec)
Gunakan ENUM di MySQL untuk benar / salah yang diberikan dan menerima nilai benar / salah tanpa kode tambahan.
sumber
Anda dapat mengatur nilai default pada saat pembuatan seperti:
sumber
Jika Anda membuat kolom boolean bukan null maka nilai default 'default' adalah false; Anda tidak harus menentukannya secara eksplisit.
sumber