如何将列的类型从varchar(30)更改为varchar(100)?

时间:2011-05-26 05:00:17

标签: mysql sql mysql-error-1064

我有一张描述如下的表:

mysql> describe easy_table;
+---------------------+--------------+------+-----+---------+----------------+
| Field               | Type         | Null | Key | Default | Extra          |
+---------------------+--------------+------+-----+---------+----------------+
| id                  | bigint(20)   | NO   | PRI | NULL    | auto_increment |
| version             | bigint(20)   | NO   |     | NULL    |                |
| account_id          | bigint(20)   | NO   | MUL | NULL    |                |
| city                | varchar(30)  | NO   |     | NULL    |                |
...
| name                | varchar(255) | YES  |     | NULL    |                |
| name_two            | varchar(255) | YES  |     | NULL    |                |
+---------------------+--------------+------+-----+---------+----------------+
13 rows in set (0.03 sec)

我正在尝试将城市varchar设置为更大的varchar(100)并且此行不起作用

alter table easy_table alter column city varchar(100);

这也行不通

alter table easy_table alter column city varchar(100) not null;

我收到此错误:

  

错误1064(42000):您的SQL语法有错误;检查   手册,对应右边的MySQL服务器版本   在第1行'varchar(100)'附近使用的语法

4 个答案:

答案 0 :(得分:23)

alter table easy_table modify column city varchar(100) not null;

答案 1 :(得分:1)

使用Modify关键字,而不是Alter

答案 2 :(得分:0)

尝试

alter table easy_table change city city varchar(100);

答案 3 :(得分:0)

alter table easy_table modify city VARCHAR(100) ; 
必须是

命令才能更改列的大小。

请参阅此页..这是有用的链接..

http://php.about.com/od/learnmysql/p/alter_table.htm