Мне нужно перенести столбец из одной таблицы в другую. Исходная таблица имеет сопоставление, отличное от целевой таблицы (latin1_general_ci и latin1_swedish_ci).
Я использую
UPDATE target
LEFT JOIN source ON target.artnr = source.artnr
SET target.barcode = source.barcode
Я получаю "незаконную смесь сопоставлений".
Как быстро исправить это, не меняя ни одну из таблиц? Я попробовал CONVERT и COLLATE, чтобы выполнить всю операцию в UTF-8, но это не помогло. «штрих-код» содержит только числовые данные (даже если они все являются VARCHAR), поэтому в любом случае не возникает проблем с сопоставлением. Мне нужно сделать это только один раз.
Редактировать: я отсортировал его, используя CAST(fieldname as unsigned)
на каждом поле. Я смог сделать это в этом случае, потому что затрагивались только числовые данные, но было бы неплохо узнать более общий подход к этому, поэтому я оставляю вопрос открытым.