如何更改MySQL列定义?

Mas*_*ask 151 mysql alter-table

我有一个名为test的mySQL表:

create table test(
    locationExpect varchar(120) NOT NULL;
);
Run Code Online (Sandbox Code Playgroud)

我想将locationExpect列更改为:

create table test(
    locationExpect varchar(120);
);
Run Code Online (Sandbox Code Playgroud)

怎么能快点完成?

mik*_*kej 269

你的意思是在创建表后改变它吗?如果是这样,您需要使用alter table,特别是:

ALTER TABLE tablename MODIFY COLUMN new-column-definition
Run Code Online (Sandbox Code Playgroud)

例如

ALTER TABLE test MODIFY COLUMN locationExpect VARCHAR(120);
Run Code Online (Sandbox Code Playgroud)

  • 所以... MySQLWorkbench有一个拒绝此命令的语法检查错误.但是,这是正确的命令. (5认同)

小智 43

MySql中更改列名的语法:

alter table table_name change old_column_name new_column_name data_type(size);
Run Code Online (Sandbox Code Playgroud)

例:

alter table test change LowSal Low_Sal integer(4);
Run Code Online (Sandbox Code Playgroud)


Dan*_*ski 11

这应该这样做:

ALTER TABLE test MODIFY locationExpert VARCHAR(120) 
Run Code Online (Sandbox Code Playgroud)