我的Mysql表中有一个字段,其值为('是','否'),这是枚举数据类型。
这里我想将其默认值设置为“否”。但是,当我将其设置为“否”时,它没有任何价值。我该怎么做?
答案 0 :(得分:9)
CREATE TABLE enum_test (
enum_fld ENUM('Yes', 'No') DEFAULT 'No'
);
或类似的东西
答案 1 :(得分:9)
如果声明ENUM列允许NULL
,则
NULL
值是列的合法值,而
默认值为NULL
。如果是ENUM列
声明NOT NULL
,其默认值为第一个
允许值列表的元素。
这样简单的事情会有所帮助:
CREATE TABLE enum_test (enum_fld ENUM ('No', 'Yes'));
答案 2 :(得分:1)
DROP TABLE IF EXISTS test_enum;
Query OK, 0 rows affected, 1 warning (0.00 sec)
CREATE TABLE test_enum(ID INT , Name CHAR(30), IsActive ENUM('Yes','No') DEFAULT 'No');
Query OK, 0 rows affected (0.29 sec)
INSERT INTO test_enum(ID,Name) VALUES(1,'Abdul');
Query OK, 1 row affected (0.00 sec)
SELECT * FROM test_enum;
+------+-------+----------+
| ID | Name | IsActive |
+------+-------+----------+
| 1 | Abdul | No |
+------+-------+----------+
1 row in set (0.00 sec)
INSERT INTO test_enum(ID,Name,IsActive) VALUES(1,'Abdul','Yes');
Query OK, 1 row affected (0.00 sec)
SELECT * FROM test_enum;
+------+-------+----------+
| ID | Name | IsActive |
+------+-------+----------+
| 1 | Abdul | No |
| 1 | Abdul | Yes |
+------+-------+----------+
2 rows in set (0.00 sec)