Я хочу использовать UUID()
для генерации первичных ключей.
После некоторого расследования я подумал, что это должно сработать:
INSERT INTO aTable (`id`) VALUES (UNHEX(REPLACE(UUID(),'-','')));
Где id
относится к типу BINARY(16)
.
К сожалению, UUID()
возвращает значение, которое использует сопоставление utf8_general_ci
. Остальная часть моей базы данных использует utf8_unicode_ci
, что означает, что я получаю следующую ошибку:
#1270 - Illegal mix of collations (utf8_general_ci,COERCIBLE), (utf8_unicode_ci,COERCIBLE), (utf8_unicode_ci,COERCIBLE) for operation 'replace'
Как мне убедить UUID()
хорошо играть и использовать utf8_unicode_ci
?