我试图改变一个列从一个varchar(50)到一个nvarchar(200)。修改该表的SQL命令是什么?


当前回答

最初的问题是关于SQL Server的 然而,如果你在使用MySql服务器时阅读这篇文章, ALTER COLUMN不能用来改变列的类型。

要更改MYSQL服务器上的列类型,您可以使用:

ALTER TABLE `USER`
    MODIFY SESSION_ID VARCHAR(100) NULL;

我使用上面的行来使用MySql服务器将列从varchar(20)扩展到varchar(100)。

其他回答

最初的问题是关于SQL Server的 然而,如果你在使用MySql服务器时阅读这篇文章, ALTER COLUMN不能用来改变列的类型。

要更改MYSQL服务器上的列类型,您可以使用:

ALTER TABLE `USER`
    MODIFY SESSION_ID VARCHAR(100) NULL;

我使用上面的行来使用MySql服务器将列从varchar(20)扩展到varchar(100)。

用于更改数据类型

alter table table_name 
alter column column_name datatype [NULL|NOT NULL]

更改主键

ALTER TABLE table_name  
ADD CONSTRAINT PK_MyTable PRIMARY KEY (column_name)

不要忘记可空性。

ALTER TABLE <schemaName>.<tableName>
ALTER COLUMN <columnName> nvarchar(200) [NULL|NOT NULL]

在SQL Server (Transact-SQL)中修改现有表中的列的语法是:

ALTER TABLE table_name
    ALTER COLUMN column_name column_type;

例如:

ALTER TABLE employees
    ALTER COLUMN last_name VARCHAR(75) NOT NULL;

这个SQL Server ALTER TABLE示例将把名为last_name的列修改为VARCHAR(75)的数据类型,并强制该列不允许空值。

在这里看到的

试试这个:

ALTER TABLE "table_name"
MODIFY "column_name" "New Data Type";