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

kq4fsx7k  于 2022-11-21  发布在  Mysql
关注(0)|答案(8)|浏览(108)

我有一个列,它当前的值为varchar(100),我想将它设置为10000
是不是简单到

alter table table_name set column col_name varchar (10000);

我担心会损坏现有数据。如果运行此查询,是否可以?或者我应该用其他方法对列执行alter操作?

kb5ga3dv

kb5ga3dv1#

增加varchar列的大小是安全的,不会损坏数据。
请记住,您可以在更改数据结构之前始终运行数据库备份,这有助于您高枕无忧。
对了,正确的语法是:

ALTER TABLE table_name MODIFY col_name VARCHAR(10000)

此外,如果列以前允许/不允许空值,则应在alter table语句得末尾,在列类型之后添加适当得语法.

ia2d9nvy

ia2d9nvy2#

我通常使用以下语句:

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

但是,我认为SET也会起作用,从来没有试过。:)

83qze16e

83qze16e3#

我将解释不同的alter table语法-请参见MySQL documentation
要添加/删除列的默认值,请执行以下操作:

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]
w51jfk4q

w51jfk4q4#

对我来说,这一个工作:
修改表名修改字段名VARCHAR(128)非空;

jq6vz3qz

jq6vz3qz5#

ALTER TABLE emp MODIFY COLUMN name VARCHAR(100);

emp是表名。

bxpogfeg

bxpogfeg6#

我正在使用mysql,下面的语法对我来说很好用,

ALTER TABLE table_name MODIFY col_name VARCHAR(12);
8zzbczxx

8zzbczxx7#

对我来说,这是有效的-
ALTER TABLE表名ALTER COLUMN列名VARCHAR(50)

zf2sa74q

zf2sa74q8#

使用以下语法:更改表表名修改列列名varchar(10000);

相关问题