How willl I set MySQL enum datatype default value as 'No'?

眉间皱痕 提交于 2021-02-16 09:52:04

问题


I have a field in my Mysql table whose values are ('Yes','No') which is enum data type.

Here I want to set its default value as 'No'. But when I am setting it as 'No', it takes no value. How will I do this?


回答1:


CREATE TABLE enum_test (
    enum_fld ENUM('Yes', 'No') DEFAULT 'No'
);

or something like this




回答2:


If an ENUM column is declared to permit NULL, the NULL value is a legal value for the column, and the default value is NULL. If an ENUM column is declared NOT NULL, its default value is the first element of the list of permitted values.

So something simple like this will help:

CREATE TABLE enum_test (enum_fld ENUM ('No', 'Yes'));

https://dev.mysql.com/doc/refman/5.0/en/enum.html




回答3:


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)


来源:https://stackoverflow.com/questions/21908428/how-willl-i-set-mysql-enum-datatype-default-value-as-no

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!