$connection = Bitrix\Main\Application::getConnection();
$connection->queryExecute(“SET sql_mode=””);
$connection->queryExecute(“SET innodb_strict_mode=0”);
Ошибка, которую вы видите, говорит о том, что в MySQL установлена переменная sql_mode с значением NO_ENGINE_SUBSTITUTION, что может вызывать проблемы при работе с некоторыми запросами или при создании/обновлении таблиц.
Чтобы исправить эту ошибку и очистить переменную sql_mode, выполните следующие шаги:
1. Проверьте текущие значения sql_mode:
Для этого нужно выполнить следующий SQL-запрос в MySQL:
sql Скопировать
Закрыть блок
SHOW VARIABLES LIKE 'sql_mode';
Это покажет текущее значение переменной sql_mode.
2. Измените sql_mode на пустое значение:
Чтобы временно очистить sql_mode, выполните команду:
sql Скопировать
Закрыть блок
SET GLOBAL sql_mode = '';
Эта команда очистит sql_mode на уровне глобальных настроек для всех сессий. Однако эта настройка сбрасывается при перезагрузке MySQL.
3. Перманентное изменение в конфигурации:
Чтобы переменная sql_mode оставалась пустой после перезагрузки MySQL, нужно изменить конфигурационный файл my.cnf или my.ini (в зависимости от операционной системы).
-
Найдите файл конфигурации MySQL. Обычно он находится в одном из следующих мест:
-
/etc/mysql/my.cnf -
/etc/my.cnf -
/etc/mysql/mysql.conf.d/mysqld.cnf -
Откройте файл для редактирования:
bash Скопировать
Закрыть блок
sudo nano /etc/mysql/my.cnf
- В разделе
[mysqld]добавьте или измените строку, чтобы она выглядела так:
ini Скопировать
Закрыть блок
[mysqld]
sql_mode=""
- Перезапустите MySQL:
bash Скопировать
Закрыть блок
sudo systemctl restart mysql
4. Проверьте изменения:
После этого вы можете снова выполнить запрос для проверки значения переменной:
sql Скопировать
Закрыть блок
SHOW VARIABLES LIKE 'sql_mode';
Теперь значение должно быть пустым, и ошибка больше не должна возникать.
Ищете надежного партнера по веб-разработке и автоматизации? Мы помогаем бизнесу расти с помощью современных технологий, автоматизации процессов и экспертного SEO. Свяжитесь с нами, чтобы обсудить вашу задачу.