MYSQL中的Alter Column语句有什么问题?

时间:2019-09-21 00:30:43

标签: mysql ddl

这让我发疯。我不知道此查询出了什么问题?

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 :(得分:0)

...the right syntax to use near '...'错误消息中的引号中包含的信息是解析器遇到的意外情况。当它是一个空字符串''时,这意味着该错误是该查询的过早结尾-直到结尾的所有内容都被毫无问题地解析了,但是查询不可能在此结束,并且仍然有效。一个更明显的示例是查询SELECT * FROM;,它将返回完全相同的错误。 (尾随的分号(如果存在)此时已被丢弃,因此它不会出现在此错误消息中。)

VARCHAR数据类型要求您在括号中指定列的最大字符长度。例如,如果您希望一列的最大长度为96个字符:

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

CHARVARCHAR类型的声明长度表示您要存储的最大字符数。例如,CHAR(30)最多可以容纳30个字符。

     

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