Недопустимое сочетание параметров сортировки, когда поля в базе данных имеют одинаковые параметры сортировки.

Я получаю следующее сообщение об ошибке:

Uncaught exception 'PDOException' with message 'SQLSTATE[HY000]: General er
ror: 1267 Illegal mix of collations (utf8_unicode_ci,IMPLICIT) and     (utf8_general_ci,IMPLICIT) for operation '=''

запрос выглядит так:

SELECT
name,
address,
email,
@userid:=(user) AS user_id,
(select count(id) from messages where user_id=@userid and thread_start='1')
as counter,
(select group_concat(search) from saved_search where user_id=@userid ) as area
FROM
useraccount
WHERE
flag = '1'

Проблема была исправлена ​​добавлением COLLATION

SELECT
name,
address,
email,
@userid:=(user) AS user_id,
(select count(id) from messages where user_id=@userid COLLATE utf8_unicode_ci and thread_start='1')
as counter,
(select group_concat(search) from saved_search where user_id=@userid     COLLATE utf8_unicode_ci ) as area
FROM
useraccount
WHERE
flag = '1'

Мой вопрос заключается в том, почему, когда пользовательское поле и все поля user_id имели одинаковое сопоставление, когда я смотрю в базу данных, указывается ли необходимое сопоставление?

Просто чтобы сделать его еще более запутанным, в рабочей среде MySQL запрос работает, но в PHP / PDO он выдает ошибки.

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector