@amorphine

Поможет ли даунгрейд MySQL решить проблемы после апгрейда Ubuntu с 14.04 до 16.04?

На локалхосте до обновления держал несколько проектов на laravel/october и один проект с Wordpress. После обновления до 16.04 часто стали сыпаться ошибки от MySQL, большая часть которых связана с отстутсвующим значением по умолчанию для каких-либо столбцов или жалобы на превышения размера вставляемых значений. Эти ошибки были не очень достающи, поскольку фиксились вручную в phpmyadmin, однако сегодня столкнулся со следующим:
Expression #45 of SELECT list is not in GROUP BY clause and contains nonaggregated column 
'digitec.product_description.language_id' which is not functionally dependent on columns in GROUP BY clause; 
this is incompatible with sql_mode=only_full_group_by Query: "SELECT product.*, product_description.*, 
product_to_category.*, product_image.image_json, product_image.image_fotogallery, pyb.nb_visits as 
yandex_bot_nb_visits, pyb.nb_hits as yandex_bot_nb_hits, pyb.sum_daily_nb_uniq_visitors as 
yandex_bot_sum_daily_nb_uniq_visitors FROM product JOIN product_description ON 
product.product_id=product_description.product_id JOIN product_to_category ON 
product.product_id=product_to_category.product_id JOIN category ON 
product_to_category.category_id=category.category_id LEFT JOIN product_image ON 
product.product_id=product_image.product_id LEFT JOIN product_rating ON 
product.product_id=product_rating.product_id LEFT JOIN product_yandex_bot pyb ON 
product.product_id=pyb.product_id WHERE new=1 GROUP BY `product_to_category`.`product_id` ORDER BY 
`date_added` DESC LIMIT 300"

и другими вариациями.
Причем, это последняя ошибка, которая осталась нерешенной после обновления. Как считаете, это связанно с реализацией mysql в ubuntu 16.06? Варианты, что дело в php отпадают, поскольку после обновления сразу был сделан даунгрейд с 7 версии до 5.6.
  • Вопрос задан
  • 945 просмотров
Пригласить эксперта
Ответы на вопрос 1
@MoNSTRiKcom
ANY_VALUE() - Suppress ONLY_FULL_GROUP_BY value rejection

dev.mysql.com/doc/refman/5.7/en/miscellaneous-func...

mysql> SELECT name, MAX(age) FROM t;
ERROR 1140 (42000): In aggregated query without GROUP BY, expression
#1 of SELECT list contains nonaggregated column 'mydb.t.name'; this
is incompatible with sql_mode=only_full_group_by


Решение:
SELECT ANY_VALUE(name), MAX(age) FROM t;
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы