Постоянное удаление режима only_full_group_by в MySQL: несколько методов с примерами кода

Чтобы навсегда удалить режим «only_full_group_by» в MySQL, вы можете использовать один из следующих методов:

Метод 1: изменение файла конфигурации MySQL

  1. Найдите файл конфигурации MySQL, который обычно называется «my.cnf» или «my.ini» в зависимости от вашей операционной системы.
  2. Откройте файл конфигурации в текстовом редакторе.
  3. Найдите в файле раздел [mysqld].
  4. Добавьте следующую строку в раздел [mysqld]:
    sql_mode = "STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

    Эта строка устанавливает для режима SQL значение, не включающее «only_full_group_by».

  5. Сохраните файл конфигурации и перезапустите сервер MySQL, чтобы изменения вступили в силу.

Метод 2. Установите режим SQL во время выполнения

  1. Подключитесь к серверу MySQL с помощью клиента MySQL, например инструмента командной строки MySQL или phpMyAdmin.
  2. Выполните следующий SQL-запрос, чтобы установить режим SQL для текущего сеанса:
    SET GLOBAL sql_mode = "STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION";

    Этот запрос устанавливает режим SQL на значение, не включающее «only_full_group_by».

  3. При желании вы можете выполнить следующий запрос, чтобы проверить изменения:
    SELECT @@GLOBAL.sql_mode;

    Он должен вернуть измененный режим SQL без «only_full_group_by».

Метод 3: изменить режим SQL в файле конфигурации и перезапустить MySQL

  1. Найдите файл конфигурации MySQL, как указано в методе 1.
  2. Откройте файл конфигурации в текстовом редакторе.
  3. Найдите в файле раздел [mysqld].
  4. Добавьте следующую строку в раздел [mysqld]:
    sql_mode = "STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

    Эта строка устанавливает для режима SQL значение, не включающее «only_full_group_by».

  5. Сохраните файл конфигурации и перезапустите сервер MySQL, чтобы изменения вступили в силу.