SELECT list is not in GROUP BY...sql_mode=only_full_group_by
Добавлено: 16 дек 2018, 10:22
После установки продукта и попытки открыть сайт может отображаться ошибка вида:
CDbException: SQLSTATE[42000]: Syntax error or access violation: 1055 Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by
Ошибка связана с настройкой поведения MySQL, а именно режимом ONLY_FULL_GROUP_BY.
Если у вас есть возможность влиять на конфиг mysql, то удалите этот режим из sql-mode.
Например, следующим образом:
Если такой возможности нет, то в файле protected\config\db.php до:
добавьте строку:
CDbException: SQLSTATE[42000]: Syntax error or access violation: 1055 Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by
Ошибка связана с настройкой поведения MySQL, а именно режимом ONLY_FULL_GROUP_BY.
Если у вас есть возможность влиять на конфиг mysql, то удалите этот режим из sql-mode.
Например, следующим образом:
- Код: Выделить всё
mysql > SET GLOBAL sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''));
Если такой возможности нет, то в файле protected\config\db.php до:
- Код: Выделить всё
'class' => 'CDbConnection',
добавьте строку:
- Код: Выделить всё
'initSQLs' => array("SET SESSION sql_mode='';")