当我使用此语句创建表时:
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
答案 0 :(得分:3)
您只需添加 DEFAULT NULL ,如下所示:
CREATE TABLE `change_log` (
`object_id` int(11) DEFAULT NULL
) ENGINE=InnoDB;
答案 1 :(得分:1)
SELECT @@sql_mode;
您看到STRICT_ALL_TABLES
或STRICT_TRANS_MODE
吗?
如果您在@@sql_mode
之前包括(或排除)来自CREATE TABLE
的内容,会发生什么?在INSERT
之前?