mariadb/mysql在列定义中添加默认空值,如何更改?

doinxwow  于 2021-06-20  发布在  Mysql
关注(0)|答案(2)|浏览(380)

使用以下语句创建表时:

CREATE TABLE `change_log` (
  `object_id` int(11)
)

mariadb为object id列创建表change\u log,其表定义中的默认值为null。也就是说,对于声明:

SHOW CREATE TABLE change_log

它返回:

CREATE TABLE `change_log` (
    `object_id` INT(11) NULL DEFAULT NULL
)

在这种情况下,如何配置mariadb/mysql不添加默认null?
我在windows10上使用mariadb 10.2.14

flmtquvp

flmtquvp1#

SELECT @@sql_mode;

你看到了吗 STRICT_ALL_TABLES 或者 STRICT_TRANS_MODE ?
当你把这些包含(或排除)在 @@sql_modeCREATE TABLE ? 在 INSERT ?

2cmtqfgy

2cmtqfgy2#

您只需添加如下默认null:

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

相关问题