我有一张描述如下的表:
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)'附近使用的语法
答案 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) ;
必须是命令才能更改列的大小。
请参阅此页..这是有用的链接..