[英]MariaDB / MySQL adds DEFAULT NULL to column definition, how to change that?
当我使用此语句创建表时:
CREATE TABLE `change_log` (
`object_id` int(11)
)
MariaDB创建的表change_log在object_id列的表定义中具有DEFAULT NULL 。 也就是说,对于语句:
SHOW CREATE TABLE change_log
它返回:
CREATE TABLE `change_log` (
`object_id` INT(11) NULL DEFAULT NULL
)
在这种情况下,如何配置mariadb / mysql不添加DEFAULT NULL?
我在Windows 10上使用MariaDB 10.2.14
您只需要像这样添加DEFAULT NULL :
CREATE TABLE `change_log` (
`object_id` int(11) DEFAULT NULL
) ENGINE=InnoDB;
SELECT @@sql_mode;
您看到STRICT_ALL_TABLES
或STRICT_TRANS_MODE
吗?
如果在CREATE TABLE
之前包含(或排除) @@sql_mode
,会发生什么? 在INSERT
之前?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.