当我用这个语句创建表时:
CREATE TABLE `change_log` (
`object_id` int(11)
)
MariaDB 创建表change_log,该表object_id列的表定义中具有默认 NULL。也就是说,对于语句:
SHOW CREATE TABLE change_log
它返回:
CREATE TABLE `change_log` (
`object_id` INT(11) NULL DEFAULT NULL
)
在这种情况下,如何配置 mariadb/mysql 不添加默认 NULL?
我在 Windows 10 上使用 MariaDB 10.2.14
您只需要像这样添加默认 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
之前?