如何防止MySQL中枚举列的空值

如何防止MySQL中枚举列的空值,mysql,enums,Mysql,Enums,如何使其在插入超出范围的值时产生故障?From 如果启用了严格SQL模式, 尝试插入无效的枚举值 导致错误 这似乎是mysql的错误: 要在mysql提示符下检查当前的SQL模式,请键入选择@global.SQL\u mode。将当前SQL模式更改为严格类型SET@@global.SQL\u mode=“strict\u ALL\u TABLES”您的警告是什么?我复制了您的代码,收到一条错误消息:“1265-第1行“f”列的数据被截断”。没有插入记录!我的全局sql模式是严格的转换表。 mys

如何使其在插入超出范围的值时产生故障?

From

如果启用了严格SQL模式, 尝试插入无效的枚举值 导致错误


这似乎是mysql的错误:

要在mysql提示符下检查当前的SQL模式,请键入
选择@global.SQL\u mode。将当前SQL模式更改为严格类型
SET@@global.SQL\u mode=“strict\u ALL\u TABLES”您的警告是什么?我复制了您的代码,收到一条错误消息:“1265-第1行“f”列的数据被截断”。没有插入记录!我的全局sql模式是严格的转换表。
mysql> CREATE TABLE foo ( f ENUM('a', '123') );

mysql> insert into foo(f) value(3);
Query OK, 1 row affected, 1 warning (0.00 sec)

mysql> select * from foo;
+------+
| f    |
+------+
|      |
+------+