如何将 MySQL 列从 varchar(30) 更改为 varchar(100)?
您需要将ALTERTABLE命令与MODIFY一起使用
语法如下
ALTER TABLE yourTableName MODIFY COLUMN yourColumnName varchar(100) NOT NULL;
为了理解上述语法,让我们创建一个表。创建表的查询如下
mysql> create table syntaxOfAlterCommandDemo -> ( -> UserId int, -> UserName varchar(30), -> UserAge int, -> UserCityName varchar(50) -> );
让我们检查一下表格的描述。
查询如下
mysql> desc syntaxOfAlterCommandDemo;
以下是输出
+--------------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +--------------+-------------+------+-----+---------+-------+ | UserId | int(11) | YES | | NULL | | | UserName | varchar(30) | YES | | NULL | | | UserAge | int(11) | YES | | NULL | | | UserCityName | varchar(50) | YES | | NULL | | +--------------+-------------+------+-----+---------+-------+ 4 rows in set (0.04 sec)
现在让我们将UserName列从varchar(30)更改为varchar(100)。请记住,现在我们已将UserName列设置为varchar(30)。查询如下更改列
mysql> alter table syntaxOfAlterCommandDemo modify column UserName varchar(100) NOT NULL; Records: 0 Duplicates: 0 Warnings: 0
让我们再次检查表描述。
查询如下
mysql> desc syntaxOfAlterCommandDemo;
以下是输出
+--------------+--------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +--------------+--------------+------+-----+---------+-------+ | UserId | int(11) | YES | | NULL | | | UserName | varchar(100) | NO | | NULL | | | UserAge | int(11) | YES | | NULL | | | UserCityName | varchar(50) | YES | | NULL | | +--------------+--------------+------+-----+---------+-------+ 4 rows in set (0.00 sec)
查看上面的示例输出,列UserName现在是varchar(100)。