Как написать запрос в MySQL к двум базам данных с разными кодировками
У меня есть две базы данных, crm с кодировкой utf8_general_ci и steriskcdrdb с кодировкой utf8_general_ci. Как правильно составить запрос? Изменение кодировки в одной из бд невозможно, необходимо только составить запрос, возможно ли это?
SELECT crm.users.phone_work AS phone,
asteriskcdrdb.cdr.src AS f
FROM asteriskcdrdb.cdr
JOIN crm.users ON crm.users.phone_work = asteriskcdrdb.cdr.src
#1267 - Illegal mix of collations (utf8_general_ci,IMPLICIT) and (utf8_unicode_ci,IMPLICIT) for operation '='
Ответы (1 шт):
Автор решения: Рустам Рысаев
→ Ссылка
Можно явно указать кодировку utf8_general_ci или utf8_unicode_ci в запросе:
SELECT crm.users.phone_work AS phone,
asteriskcdrdb.cdr.src AS f
FROM asteriskcdrdb.cdr
JOIN crm.users ON crm.users.phone_work COLLATE utf8_general_ci = asteriskcdrdb.cdr.src COLLATE utf8_general_ci;
ну или наоборот
SELECT crm.users.phone_work AS phone,
asteriskcdrdb.cdr.src AS f
FROM asteriskcdrdb.cdr
JOIN crm.users ON crm.users.phone_work COLLATE utf8_unicode_ci = asteriskcdrdb.cdr.src COLLATE utf8_unicode_ci;