MySQL - как отключить strict mode - строгий режим

Материал из Wiki - Iphoster - the best ever hosting and support. 2005 - 2024
Перейти к:навигация, поиск

Доступная цена

MySQL - как отключить strict mode - строгий режим

По-умолчанию, strict mode включен (в версии mysql 5.7.x) и это можно проверить через

mysql> SHOW VARIABLES LIKE 'sql_mode';
+---------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| Variable_name | Value                                                                                                                                     |
+---------------+-------------------------------------------------------------------------------------------------------------------------------------------+
| sql_mode      |  ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION |
+------------

Обратите внимание на "STRICT_TRANS_TABLES" - это и есть строгий режим.

Отключить его молжно через конфиг my.cnf (Для Ubuntu - /etc/mysql/my.cnf):

# vi /etc/mysql/my.cnf
[mysqld]
sql_mode=IGNORE_SPACE,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

и перезагрузить mysql сервер:

# systemctl restart mysql


Проверяем заново:

mysql> SHOW VARIABLES LIKE 'sql_mode';
+---------------+-----------------------------------------------------------------------------------------------------------------+
| Variable_name | Value                                                                                                           |
+---------------+-----------------------------------------------------------------------------------------------------------------+
| sql_mode      | 
IGNORE_SPACE,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION |