SQLSTATE [HY000]: общая ошибка: 1267 Неверное сочетание параметров сортировки - PullRequest
0 голосов
/ 09 января 2020

Мы неожиданно начали получать указанную ниже ошибку на странице входа в систему нашего портала:

SQLSTATE [HY000]: общая ошибка: 1267 Неверное сочетание параметров сортировки (utf8_unicode_ci, COERCIBLE) И ( utf8_general_ci, COERCIBLE) FOR операция '='

из этого запроса:

SELECT  `corporate_department`.`dep_id`, `corporate_department`.`dep_name`, 
        `corporate_department`.`transaction_limit`, `corporate_department`.`dep_status`, 
        (SELECT SUM(corporate_transactions.amount) FROM   corporate_transactions 
         WHERE  DATE_FORMAT(corporate_transactions.transaction_date, '%Y-%m') = '2020-01' 
         AND corporate_transactions.department_id = corporate_department.dep_id 
         AND corporate_transactions.trip_id NOT IN 
              (SELECT trip_id FROM trip_flags WHERE flag_id != 2 
               GROUP BY trip_id 
               HAVING COUNT(trip_id) = 1 ) AND corporate_transactions.trip_id NOT IN 
                        (SELECT  trip_id FROM trip_flags WHERE flag_id = 2 
                         GROUP BY trip_id HAVING COUNT(trip_id) > 1 ) ) AS amount, 
        (SELECT COUNT(corporate_transactions.trip_id) FROM corporate_transactions 
         WHERE  DATE_FORMAT(corporate_transactions.transaction_date, '%Y-%m') = '2020-01' 
         AND corporate_transactions.department_id = corporate_department.dep_id 
         AND corporate_transactions.trip_id NOT IN 
              (SELECT trip_id FROM trip_flags WHERE flag_id != 2 
               GROUP BY trip_id 
               HAVING COUNT(trip_id) = 1 ) AND corporate_transactions.trip_id NOT IN 
                         (SELECT trip_id FROM trip_flags WHERE flag_id = 2 
                          GROUP BY trip_id HAVING COUNT(trip_id) > 1 )) AS rides 
FROM     `corporate_department` 
WHERE    `corporate_department`.`corporate_company` = 60 
AND      `corporate_department`.`dep_status` IN (A, D) 
GROUP BY `corporate_department`.`dep_id` 
ORDER BY `corporate_department`.`dep_name` ASC)

3 таблицы, задействованные в вышеупомянутом запросе, имеют следующий набор символов и набор параметров сортировки:

                        character_set           collation

corporate_transactions.  utf8.                  utf8_unicode_ci(defined in table)
trip_flags               utf8                   utf8_general_ci(not defined, but is the default value for utf8) 
corporate_department.   latin1                  latin1_swedish_ci(4842)

На уровне столбцов не определены параметры сортировки, и в определение таблицы также не было внесено никаких изменений, но были некоторые изменения, сделанные примерно за 1 неделю go со стороны приложения. Может кто-нибудь помочь мне понять, в чем здесь проблема?

...