MySQL - как отключить strict mode - строгий режим: различия между версиями

Материал из Wiki - Iphoster - the best ever hosting and support. 2005 - 2024
Перейти к:навигация, поиск
(Новая страница: «=== MySQL - как отключить strict mode - строгий режим === По-умолчанию, strict mode включен и это можно пр…»)
 
 
(не показано 5 промежуточных версий этого же участника)
Строка 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.
  
По-умолчанию, strict mode включен и это можно проверить через
+
 
 +
По-умолчанию, strict mode включен (в версии mysql 5.7.x) и это можно проверить через
 
  mysql> SHOW VARIABLES LIKE 'sql_mode';
 
  mysql> SHOW VARIABLES LIKE 'sql_mode';
 
  +---------------+-------------------------------------------------------------------------------------------------------------------------------------------+
 
  +---------------+-------------------------------------------------------------------------------------------------------------------------------------------+
Строка 10: Строка 15:
 
  +------------
 
  +------------
  
Обратите внимание на "STRICT_TRANS_TABLES" - это и есть строгий режим.
+
Обратите внимание на '''"STRICT_TRANS_TABLES" - это и есть строгий режим.'''
  
 
Отключить его молжно через конфиг my.cnf (Для Ubuntu - /etc/mysql/my.cnf):
 
Отключить его молжно через конфиг my.cnf (Для Ubuntu - /etc/mysql/my.cnf):
Строка 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 |