问题描述
|
我有一张表描述如下:
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)\'附近使用的语法
解决方法
alter table easy_table modify column city varchar(100) not null;
,使用Modify关键字,而不是Alter
,alter table easy_table modify city VARCHAR(100) ;
必须是您命令更改列的大小。
请参考此页面。这是有用的链接。
http://php.about.com/od/learnmysql/p/alter_table.htm
,尝试
alter table easy_table change city city varchar(100);