Я только что установил новую среду разработки на Debian 9 и mariadb: 10.1.26-MariaDB-0+deb9u1 Debian 9.1

Предыдущей средой был Debian 7 с mysql: 5.6.38-1 ~ dotdeb+7.1 (Debian)

значение для sql-mode: MariaDB [(none)]> SHOW VARIABLES LIKE 'sql_mode'; +---------------+------------------------+ | Variable_name | Value | +---------------+------------------------+ | sql_mode | NO_ENGINE_SUBSTITUTION | +---------------+------------------------+

Для баз данных столбцы настроены как NOT NULL без значения по умолчанию. (большинство это просто поля varchar / text)

Я не могу вставить новые записи или изменить существующие записи. Я использую laravel/eloquent, и если я установил параметр подключения в значение strict = true, я получаю сообщение об ошибке, что у столбца нет значения по умолчанию.

Все мои исследования показали, что я должен иметь возможность просто выключить строгий режим, чтобы вернуть старую функциональность, однако не похоже, что строгий режим включен.

Есть ли опция конфигурации, которую мне не хватает?

1 ответ1

0

Найти настройку, которая позволяет неточному коду продолжать работать, не очень хорошая идея. Однажды в конечном итоге это проявит неправильное поведение.

Исправьте код, чтобы вставить значение во все столбцы, для которых установлено NOT NULL и значение по умолчанию отсутствует.

В качестве альтернативы, если для столбца имеется значимое значение по умолчанию, измените столбец таблицы так, чтобы он содержал значение по умолчанию.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .