我有一个当前的专栏,varchar(100)
我想制作它10000
。
是不是很简单
alter table table_name set column col_name varchar (10000);
我害怕破坏现有的数据。如果我运行这个查询我会好吗?或者我应该以另一种方式做我alter
的专栏吗?
谢谢!
我有一个当前的专栏,varchar(100)
我想制作它10000
。
是不是很简单
alter table table_name set column col_name varchar (10000);
我害怕破坏现有的数据。如果我运行这个查询我会好吗?或者我应该以另一种方式做我alter
的专栏吗?
谢谢!
增加 varchar 列的大小是安全的。您不会损坏您的数据。
如果它有助于您安心,请记住,您始终可以在更改数据结构之前运行数据库备份。
顺便说一句,正确的语法是:
ALTER TABLE table_name MODIFY col_name VARCHAR(10000)
此外,如果列之前允许/不允许空值,则应在列类型之后的 alter table 语句末尾添加适当的语法。
我通常使用这种说法:
ALTER TABLE `table_name`
CHANGE COLUMN `col_name` `col_name` VARCHAR(10000);
但是,我认为 SET 也可以,从未尝试过。:)
我想解释不同的 alter table 语法 - 请参阅MySQL 文档
在列上添加/删除默认值:
ALTER TABLE table_name
ALTER COLUMN col_name {SET DEFAULT literal | DROP DEFAULT}
对于重命名列,更改其数据类型并可选择更改列顺序:
ALTER TABLE table_name
CHANGE [COLUMN] old_col_name new_col_name column_definition
[FIRST|AFTER col_name]
用于更改列的数据类型和可选地更改列顺序:
ALTER TABLE table_name
MODIFY [COLUMN] col_name column_definition
[FIRST | AFTER col_name]
对我来说,这是一个:
ALTER TABLE 表名 MODIFY 字段名 VARCHAR(128) NOT NULL;
我正在使用 mysql,下面的语法对我来说效果很好,
ALTER TABLE table_name MODIFY col_name VARCHAR(12);
对我来说,这已经奏效了-
ALTER TABLE table_name ALTER COLUMN column_name VARCHAR(50)
使用这个语法:alter table table_name modify column col_name varchar (10000);