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

时间:2018-07-02 13:01:55

标签: mysql null mariadb

当我使用此语句创建表时:

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

2 个答案:

答案 0 :(得分:3)

您只需添加 DEFAULT NULL ,如下所示:

CREATE TABLE `change_log` (
  `object_id` int(11) DEFAULT NULL
) ENGINE=InnoDB;

答案 1 :(得分:1)

SELECT @@sql_mode;

您看到STRICT_ALL_TABLESSTRICT_TRANS_MODE吗?

如果您在@@sql_mode之前包括(或排除)来自CREATE TABLE的内容,会发生什么?在INSERT之前?