Ответ 1
Это может происходить из-за разных collations
, определенных в обеих таблицах parim_firm_tag_names
и parim_marksona
, поскольку сравнение строк с использованием отдельных может приводить к различным значениям для чувствительных к регистру и нечувствительных к регистру значений collation
.
Вы можете проверить столбцы collation
столбцов, используя этот запрос:
SHOW FULL COLUMNS FROM parim_marksona;
SHOW FULL COLUMNS FROM parim_firm_tag_names;
Чтобы избежать этой ошибки, вы можете преобразовать сортировку столбца sona
в сортировку столбца firm_tag_name_value
с помощью COLLATE
, выбрав различные значения из таблицы parim_marksona
.
Предполагая сопоставление столбца firm_tag_name_value
как latin1_swedish_cs
:
TRUNCATE parim_firm_tag_names;
INSERT INTO parim_firm_tag_names (firm_tag_name_value)
SELECT DISTINCT sona COLLATE latin1_swedish_cs
FROM parim_marksona;
Это должно работать без ошибок.
Подробнее см. руководство Набор и сортировка символов столбца.