Задать вопрос
@MyQuestion
junior-middle fullstack

Ошибка базы данных при обновление Bitrix, как исправить?

При попытке установить обновления ядра в bitrix, получаю ошибку. Ядро 21.700.0, php 7.4.3
До ошибки, вижу попытку установки модуля sale (21.100.0)
Может дело в php? 8-ю нужно? Или это ошибка чисто БД? Как это можно исправить?

>MySQL Query Error: UPDATE b_sale_tp bst INNER JOIN b_landing_site bls ON CONCAT('landing_', bls.ID) = bst.CODE SET bst.NAME = CONCAT('Лендинг', ' (', bls.TITLE, ')') WHERE bst.NAME != CONCAT('Лендинг', ' (', bls.TITLE, ')') [[1267] Illegal mix of collations (utf8_unicode_ci,IMPLICIT) and (utf8_general_ci,IMPLICIT) for operation '<>']
MySQL Query Error!
  • Вопрос задан
  • 74 просмотра
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 1
@Akina
Сетевой и системный админ, SQL-программист.
Illegal mix of collations (utf8_unicode_ci,IMPLICIT) and (utf8_general_ci,IMPLICIT)

Вот причина ошибки.

bst.NAME != CONCAT('Лендинг', ' (', bls.TITLE, ')')

А это - выражение, в котором она возникает.

Вы сравниваете значение поля, которое в структуре имеет COLLATE utf8_unicode_ci, и выражение, которое получает значение collation = utf8_general_ci из свойств поля bls.TITLE.

Выполните следующие запросы и внимательно изучите результат:
SHOW CREATE TABLE b_sale_tp;
SHOW CREATE TABLE b_landing_site;


Так что либо измените структуру таблиц, либо указывайте требуемый COLLATE явно в тексте запроса.

Пример
Ответ написан
Ваш ответ на вопрос

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

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