繁体   English   中英

MariaDB / MySQL在列定义中添加了DEFAULT NULL,如何更改呢?

[英]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_TABLESSTRICT_TRANS_MODE吗?

如果在CREATE TABLE之前包含(或排除) @@sql_mode ,会发生什么? INSERT之前?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM