Когда я создаю таблицу с этим утверждением:
CREATE TABLE 'change_log' (
'object_id' int(11)
)
MariaDB создает таблицу change_log, которая имеет DEFAULT NULL в определении таблицы для столбца object_id. То есть для утверждения:
SHOW CREATE TABLE change_log
он возвращает:
CREATE TABLE 'change_log' (
'object_id' INT(11) NULL DEFAULT NULL
)
Как настроить mariadb/mysql, чтобы не добавлять DEFAULT NULL в этом случае?
Я использую MariaDB 10.2.14 для Windows 10
Вы должны только добавить DEFAULT NULL следующим образом:
CREATE TABLE 'change_log' (
'object_id' int(11) DEFAULT NULL
) ENGINE=InnoDB;
SELECT @@sql_mode;
Вы видите STRICT_ALL_TABLES
или STRICT_TRANS_MODE
?
Что происходит, когда вы включаете (или исключаете) из @@sql_mode
перед CREATE TABLE
? Перед INSERT
?