MySQL: не дает вставить строку (даже для root)


Пришлось тут давеча переносить БД многопользовательской игры «Аллоды 2» с виртуалки (где все настроено) на выделенный сервак (где настраивать надо самому). Перенес БД, права в мускуле настроил, вроде работает все. Но. Не создаются новые персонажи.

Оказалось, что дело в параметре STRICT_TRANS_TABLES, который не дает автоматом устанавливать значения по умолчанию. Проще всего его поменять в MySQL workbench:

1) открыть настройки и убрать галку:

2) появится окошко запроса — выполняем

3) перегружаем MySQL; для этого в винде (у меня виндовый сервер) в Windows+R  вбиваем services.msc и там ПКМ на сервис → restart

Можно STRICT_TRANS_TABLES отключить и другими способами:

  • запустить SQL запрос:

SELECT @@GLOBAL.sql_mode;
SET @@GLOBAL.sql_mode='';

  • phpmyadmin → More → Variables → sql mode → убрать STRICT_TRANS_TABLES → сохранить

 

  • конфиг MySQL, закомментировать в my.ini: sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

Запись опубликована в рубрике MySQL. Добавьте в закладки постоянную ссылку.

Добавить комментарий

🇬🇧 Attention! Comments with URLs/email are not allowed.
🇷🇺 Комментарии со ссылками/email удаляются автоматически.