направена е промяна във версия 5.7-ish където сега по подразбиране ще отхвърля заявки, в които агрегирате с помощта на функция (sum
, avg
, max
и др.) в SELECT
клауза и не успява да постави неагрегираните полета в GROUP BY
клауза. Това поведение е неразделна част от всяка друга RDBMS и MySQL най-накрая се включва.
Имате две опции:
- Можете да промените настройките на MySQL по подразбиране към старото поведение, за да позволите не толкова страхотни заявки като тази. Информация можете да намерите тук
- Можете да коригирате заявката си
Вариант 2 би изглеждал така:
SELECT id, password, COUNT(id) AS count FROM users WHERE email = :email GROUP BY id, password LIMIT 1