我有下表emp:

Field   Type       Null     Key     Default     Extra   
id      int(11)     NO      PRI     NULL    auto_increment
name    varchar(20) YES             NULL    
dept    varchar(20) YES             NULL    

现在我想把name的varchar大小从20改为50.

我try 了以下SQL查询,但同样的错误显示:

ALTER TABLE emp
CHANGE COLUMN 'name' varchar(100);


ALTER TABLE emp
ALTER  COLUMN name varchar(100);

这就是错误:

1064年的今天,您的SQL语法出现错误;判断相应的手册

知道如何在MYSQL中更改varchar类型的列大小吗?

推荐答案

ALTER TABLE emp MODIFY COLUMN name VARCHAR(100);

或者使用CHANGE,但这意味着您必须给出两次列名(因为CHANGE也允许您更改列名).

ALTER TABLE emp CHANGE COLUMN name name VARCHAR(100);

不要将列名用单引号引起来.单引号用于字符串文字或日期文字.

Mysql相关问答推荐

是否有一种方法可以 Select 表中具有特定列值的行,该行还显示phpmyadmin中原始表中的行号?

如何跨多个产品查找相同时间范围的数据集

MySQL全文索引和不区分大小写搜索带来的挑战

为什么嵌套循环逻辑不能按预期工作

从 NextJS/Prisma 添加用户 ID (FK) 到 MySQL 表

在两个日期之间生成每个月的1行数据.

for each 查询设置 MySQL @@session.time_zone 而不是 CONVERT_TZ 的缺点?

Next-key lock explication - 范围的主键

如何在 MySQL 中使用从 SELECT IF 返回的布尔值

插入二进制数据会导致Data too long for column...

如何使用 SQL 聚合和求和相似 Select 的值?

由于长时间操作而断开连接后,我的 sql 查询是否继续执行?

包含 group_contact 的视图的问题

如何显示患者预约中的专业人员姓名?

默认为空字符串的列

mysql中float(2,2)和float()的区别

我的 PDO 声明不起作用

更改 Laravel 的 created_at 和 updated_at 的名称

MySQL - 错误 1045 - 访问被拒绝

在 MySQL 中的子查询上使用 GROUP_CONCAT