booleanMySQL'de varsayılan değeri olan bir sütun içeren bir tablo oluşturmak istiyorum false. Ama varsayılan olarak NULL kabul ediyor ...
booleanMySQL'de varsayılan değeri olan bir sütun içeren bir tablo oluşturmak istiyorum false. Ama varsayılan olarak NULL kabul ediyor ...
Yanıtlar:
Varsayılan olarak ( 0yanlış anlamına gelir) veya 1(doğru anlamına gelir ) belirtmeniz gerekir . İşte bir örnek:
create table mytable (
mybool boolean not null default 0
);
Bilginize: booleaniçin bir takma addır tinyint(1).
İşte kanıtı:
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)
Bilginize: Testim aşağıdaki MySQL sürümünde yapıldı:
mysql> select version();
+----------------+
| version() |
+----------------+
| 5.0.18-max-log |
+----------------+
1 row in set (0.00 sec)
MySQL'de ENUM'u doğru / yanlış için kullanın, herhangi bir ekstra kod olmadan doğru / yanlış değerleri verir ve kabul eder.
ALTER TABLE `itemcategory` ADD `aaa` ENUM('false', 'true') NOT NULL DEFAULT 'false'
Oluşturma sırasında aşağıdaki gibi varsayılan bir değer ayarlayabilirsiniz:
CREATE TABLE Persons (
ID int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int,
Married boolean DEFAULT false);
Boole sütununu boş değil yaparsanız, varsayılan 'varsayılan' değer yanlıştır; açıkça belirtmeniz gerekmez.