Что не так с оператором Alter Column в MYSQL? - PullRequest
0 голосов
/ 21 сентября 2019

Это сводит меня с ума.Я не знаю, что не так с этим запросом?

mysql> ALTER TABLE `mydb.persons` MODIFY COLUMN `name` VARCHAR;

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

1 Ответ

0 голосов
/ 21 сентября 2019

Информация, включенная в кавычки в сообщении об ошибке ...the right syntax to use near '...': неожиданная вещь , с которой столкнулся анализатор.Когда это пустая строка '', это означает, что ошибка является преждевременным завершением запроса - каждая вещь до конца была проанализирована без проблем, но запрос не может закончиться там, где он был, и все еще может бытьдействительный.Более очевидным примером будет запрос SELECT * FROM;, который будет возвращать точно такую ​​же ошибку.(Завершающая точка с запятой, если она присутствует, на данный момент уже удалена, поэтому она не отображается в этом сообщении об ошибке.)

Для типа данных VARCHAR необходимо указать максимальную длину символа длястолбец, в скобках.Например, если вам нужен столбец с максимальной длиной 96 символов:

mysql> ALTER TABLE `mydb.persons` MODIFY COLUMN `name` VARCHAR(96);

Типы CHAR и VARCHAR объявляются с длиной, указывающей максимальное количество символов, которое выхочу хранить.Например, CHAR(30) может содержать до 30 символов.

https://dev.mysql.com/doc/refman/8.0/en/char.html

...