#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;
Комментариев нет:
Отправить комментарий