如何在不破坏现有数据的情况下增加数据库中现有列的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);