Ответ 1
Добавьте это в свой файл my.cnf(или my.ini, если вы используете окна):
sql_mode="TRADITIONAL"
и перезапустите сервер
Через клиент командной строки MySQL я пытаюсь установить глобальный mysql_mode:
SET GLOBAL sql_mode = TRADITIONAL;
Это работает для текущего сеанса, но после перезапуска сервера sql_mode возвращается к своему по умолчанию: '' - пустая строка.
Как я могу навсегда установить sql_mode в TRADITIONAL?
Если это необходимо, MySQL является частью пакета WAMP.
Спасибо.
Добавьте это в свой файл my.cnf(или my.ini, если вы используете окна):
sql_mode="TRADITIONAL"
и перезапустите сервер
MySQL sql_mode "TRADITIONAL"
, a.k.a. "строгий режим", определяется документами MySQL как:
"выдает ошибку вместо предупреждения" при вводе неправильного значения в столбец.
Здесь, как убедиться, что ваш sql_mode установлен на "TRADITIONAL"
.
Сначала проверьте текущую настройку:
mysql
mysql> SELECT @@GLOBAL.sql_mode;
+-------------------+
| @@GLOBAL.sql_mode |
+-------------------+
| |
+-------------------+
1 row in set (0.00 sec)
Это возвращает пустое значение по умолчанию, это плохо: ваш sql_mode не установлен в "TRADITIONAL".
Так отредактируйте файл конфигурации:
sudo vim /etc/mysql/my.cnf
Добавьте эту строку в раздел с меткой [mysqld]
: sql_mode="TRADITIONAL"
(как указывалось fancyPants)
Затем перезапустите сервер:
sudo service mysql restart
Затем снова проверьте:
mysql
mysql> SELECT @@GLOBAL.sql_mode;
+------------------------------------------------------------------------------------------------------------------------------------------------------+
| @@GLOBAL.sql_mode |
+------------------------------------------------------------------------------------------------------------------------------------------------------+
| STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,TRADITIONAL,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION |
+------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)
Успех! Теперь ты золотой.