Почему MariaDB 10.4.8 (последняя версия) не может изменить этот тип столбца? - PullRequest
0 голосов
/ 24 октября 2019
MariaDB [myDatabase]> alter table myTable MODIFY Descr varchar(255) default '' not null CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci' at line 1

Почему это не удается? Синтаксис правильный, нет?

1 Ответ

1 голос
/ 24 октября 2019

CHARACTER SET и COLLATION являются частью спецификации типа данных, поэтому они должны быть непосредственно после VARCHAR(255), вы не можете поместить атрибуты DEFAULT и NOT NULL в середину.

alter table myTable MODIFY Descr varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci not null default '';
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...