MySQL - как отключить strict mode - строгий режим: различия между версиями
Материал из Wiki - Iphoster - the best ever hosting and support. 2005 - 2024
Admin iph (обсуждение | вклад) |
Admin iph (обсуждение | вклад) |
||
(не показаны 3 промежуточные версии этого же участника) | |||
Строка 1: | Строка 1: | ||
+ | [[Файл:B_1.gif |link=https://bit.ly/3tbFsd6| Доступная цена]] | ||
+ | |||
=== MySQL - как отключить strict mode - строгий режим === | === MySQL - как отключить strict mode - строгий режим === | ||
+ | |||
+ | Ошибка: | ||
+ | The sql-mode strict_trans_tables is enabled in your mysql server, please contact your host provider to disable it. | ||
Строка 16: | Строка 21: | ||
[mysqld] | [mysqld] | ||
sql_mode=IGNORE_SPACE,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION | sql_mode=IGNORE_SPACE,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION | ||
+ | |||
+ | либо ввобще снять все ограничения | ||
+ | [mysqld] | ||
+ | sql_mode = '' | ||
+ | |||
и перезагрузить mysql сервер: | и перезагрузить mysql сервер: |
Текущая версия на 11:28, 19 ноября 2023
MySQL - как отключить strict mode - строгий режим
Ошибка:
The sql-mode strict_trans_tables is enabled in your mysql server, please contact your host provider to disable it.
По-умолчанию, 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
либо ввобще снять все ограничения
[mysqld] sql_mode =
и перезагрузить 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 |