我正在尝试将一列从varchar(50)更改为nvarchar(200)。修改该表的SQL命令是什么?
varchar(50)
nvarchar(200)
ALTER TABLE TableName ALTER COLUMN ColumnName NVARCHAR(200) [NULL | NOT NULL]
<强>编辑 如上所述,NULL/NOT NULL应该已经指定,也可以参见抢劫的回答。< / p >
使用Alter table语句。
Alter table TableName Alter Column ColumnName nvarchar(100)
不要忘记可空性。
ALTER TABLE <schemaName>.<tableName> ALTER COLUMN <columnName> nvarchar(200) [NULL|NOT NULL]
只要增加varchar的大小就没问题。根据Alter Table引用:
降低列的精度或比例可能导致数据截断。
试试这个:
ALTER TABLE "table_name" MODIFY "column_name" "New Data Type";
在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
last_name
VARCHAR(75)
看到在这里
用于更改数据类型
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 [dbo].[TableName] ALTER COLUMN ColumnName VARCHAR(Max) NULL
在11 g:
ALTER TABLE TableName Modify ColumnName DataType;
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)。