मैं एक boolean
कॉलम के साथ MySQL में एक तालिका बनाना चाहता हूं जिसका डिफ़ॉल्ट मूल्य है false
। लेकिन यह NULL को डिफ़ॉल्ट के रूप में स्वीकार कर रहा है ...
मैं एक 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)
FYI करें: मेरा परीक्षण MySQL के निम्नलिखित संस्करण पर किया गया था:
mysql> select version();
+----------------+
| version() |
+----------------+
| 5.0.18-max-log |
+----------------+
1 row in set (0.00 sec)
आप निर्माण समय पर एक डिफ़ॉल्ट मान सेट कर सकते हैं जैसे:
CREATE TABLE Persons (
ID int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int,
Married boolean DEFAULT false);