如何在不破坏现有数据的情况下增加数据库中现有列的varchar大小?

我有一个列目前是varchar(100) ,我想使它10000

它是如此简单

 alter table table_name set column col_name varchar (10000); 

我害怕破坏现有的数据。 如果我运行这个查询,我会好吗? 或者我应该alter另一种方式吗?

谢谢!

我通常使用这种说法:

 ALTER TABLE `table_name` CHANGE COLUMN `col_name` `col_name` VARCHAR(10000); 

但是,我认为SET也会工作,从来没有尝试过。 🙂

增加你的varchar列的大小是安全的。 你不会破坏你的数据。

如果它有助于您放心,请记住,您可以在更改数据结构之前始终运行数据库备份。

顺便说一句,正确的语法是:

 ALTER TABLE table_name MODIFY col_name VARCHAR(10000) 

另外,如果列先前允许/不允许空值,则应该在列types之后的alter table语句末尾添加适当的语法。

我想解释不同的alter table语法 – 请参阅MySQL文档

在列上添加/删除默认值:

 ALTER TABLE table_name ALTER COLUMN col_name {SET DEFAULT literal | DROP DEFAULT} 

要重命名列,更改其数据types并可以更改列顺序:

 ALTER TABLE table_name CHANGE [COLUMN] old_col_name new_col_name column_definition [FIRST|AFTER col_name] 

对于更改列的数据types和可选地更改列顺序:

 ALTER TABLE table_name MODIFY [COLUMN] col_name column_definition [FIRST | AFTER col_name] 

对我来说这是一个:

ALTER TABLE tablename MODIFY fieldname VARCHAR(128)NOT NULL;

使用以下语法:alter table table_name modify column col_name varchar(10000);