MySQL 如何在mySQL中更改varchar类型的列大小?

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/22668024/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-31 20:18:55  来源:igfitidea点击:

How to change Column size of varchar type in mySQL?

mysqlsql

提问by Zahid Rouf

I have the following table emp :

我有下表 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    

Now I like to change the varchar size of name from 20 to 50.

现在我喜欢将 name 的 varchar 大小从 20 更改为 50。

I have tried with the following SQL queries but the same error shows :

我已尝试使用以下 SQL 查询,但显示相同的错误:

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


ALTER TABLE emp
ALTER  COLUMN name varchar(100);

This is the ERROR :

这是错误:

1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'varchar(100)' at line 2

1064 - 你的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,了解在第 2 行的“varchar(100)”附近使用的正确语法

Any idea how to change the column size of varchar type in MYSQL ?

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

回答by Bill Karwin

ALTER TABLE emp MODIFY COLUMN name VARCHAR(100);

Or use CHANGE, but that means you have to give the column name twice (because CHANGE allows you to change the name of the column too).

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

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

Don't put the column name in single-quotes. Single-quotes are for string literals or date literals.

不要将列名放在单引号中。单引号用于字符串文字或日期文字。