Почему flyway выдает ошибку с запросами COLLATE SQL? - PullRequest
0 голосов
/ 08 мая 2019

У меня есть весенний загрузочный API, который сохраняет сообщения в mySQL (версия 5.6). Теперь сообщения также должны поддерживать emojis, поэтому я пытаюсь обновить переменные mySQL через flyway, но он показывает синтаксическую ошибку для всех ключевых слов COLLATE.

SQL-запрос:

SET NAMES 'utf8mb4' COLLATE 'utf8mb4_unicode_ci'

Или любой

 ALTER TABLE/COLUMN query with COLLATE

1 Ответ

0 голосов
/ 09 мая 2019

Ваш вопрос , вероятно о CHARACTER SET (кодировка символов), а не о COLLATION (порядок символов в наборе символов).

Если ваши столбцы в настоящее время CHARACTER SET utf8,

ALTER TABLE foo CONVERT TO utf8mb4;

Если столбцы уже utf8mb4, то зачем вам это сопоставление (utf8mb4_unicode_ci), это не изящно обрабатывает эмодзи. Было бы лучше использовать utf8mb4_unicode_520_ci.

Для дальнейшего обсуждения, пожалуйста, предоставьте SHOW CREATE TABLE.

...