#php #mysql #база_данных
Имею ошибку MySQL 3065. Query Error Query: SELECT DISTINCT p.*,p.id,p.ext,p.hash,p.status FROM photos_photo p JOIN photos_album_photos ap ON p.id = ap.photo_id WHERE ap.album_id = 1 AND p.status = 1 AND p.url IS NOT NULL AND LENGTH(TRIM(p.url)) > 0 AND p.parent_id = 0 ORDER BY ap.sort ASC LIMIT 500 Error: 3065 Message: Expression #1 of ORDER BY clause is not in SELECT list, references column 'ss.ap.sort' which is not in SELECT list; this is incompatible with DISTINCT Разработчик ПО молчит, подскажите куда копать? Был перенос с одного VPS на другой скрипта интернет магазина. база импортирована как с помощью sypex dumper так и стандартными mysqldump - эффект не меняется, ранние базы такой же эффект. Стоит mysqld 5.7.12-0ubuntu1. Раньше была старее версия. мне кажется проблема в MySQL.
Ответы
Ответ 1
Решение и правда было в ONLY_FULL_GROUP_BY. Расскажу как победил mysql -u root -p mysql> SET GLOBAL sql_mode=(SELECT REPLACE(@@sql_mode, "ONLY_FULL_GROUP_BY,", "")); mysql> SET SESSION sql_mode=(SELECT REPLACE(@@sql_mode, "ONLY_FULL_GROUP_BY,", "")); тем самым меняем значение на прежнее, но за исключением подстроки "only_full_group_by,". Проверить результат и убедиться что режим выключен можно командой: mysql> SELECT @@sql_mode;
Комментариев нет:
Отправить комментарий