我正在尝试将列从
varchar(50)
更改为 nvarchar(200)
。更改此表的 SQL 命令是什么?
ALTER TABLE TableName
ALTER COLUMN ColumnName NVARCHAR(200) [NULL | NOT NULL]
编辑 如前所述,应该指定 NULL/NOT NULL,另请参阅 Rob 的回答。
不要忘记可空性。
ALTER TABLE <schemaName>.<tableName>
ALTER COLUMN <columnName> nvarchar(200) [NULL|NOT NULL]
使用 Alter table 语句。
Alter table TableName Alter Column ColumnName nvarchar(100)
修改 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 [dbo].[TableName]
ALTER COLUMN ColumnName VARCHAR(Max) NULL
用于更改数据类型
alter table table_name
alter column column_name datatype [NULL|NOT NULL]
用于更改主键
ALTER TABLE table_name
ADD CONSTRAINT PK_MyTable PRIMARY KEY (column_name)
只要增加 varchar 的大小就可以了。 根据 Alter Table 参考:
降低列的精度或小数位数可能会导致数据截断。
11克中:
ALTER TABLE TableName
Modify ColumnName DataType;
EG: 更改表员工 修改 BIRTH_DATE VARCHAR(30);
ALTER TABLE [Performance].[dbo].[CRA_283_Violation]
ALTER COLUMN [Throughput_HS_DC_NodeB_3G_Alarm] bit
最初的问题是针对“SQL Server”的 但是,如果您在使用 MySql 服务器时阅读这篇文章, “ALTER COLUMN”不能用于更改列类型。
要更改 MYSQL 服务器上的列类型,您可以使用:
ALTER TABLE `USER`
MODIFY SESSION_ID VARCHAR(100) NULL;
我使用上面的行将带有 MySql 服务器的列从 varchar(20) 扩展到 varchar(100)。
试试这个:
ALTER TABLE "table_name"
MODIFY "column_name" "New Data Type";