我试图改变一个列从一个varchar(50)到一个nvarchar(200)。修改该表的SQL命令是什么?
当前回答
用于更改数据类型
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 [Performance].[dbo].[CRA_283_Violation]
ALTER COLUMN [Throughput_HS_DC_NodeB_3G_Alarm] bit
ALTER TABLE TableName
ALTER COLUMN ColumnName NVARCHAR(200) [NULL | NOT NULL]
编辑 如前所述,NULL/NOT NULL应该被指定,参见Rob的回答。
使用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引用:
降低列的精度或比例可能导致数据截断。
推荐文章
- 在每个列表元素上调用int()函数?
- SQL Server:过滤sp_who2的输出
- 在SQL Server上使用varchar(MAX) vs TEXT
- Visual Studio: ContextSwitchDeadlock
- Sql Server字符串到日期的转换
- 如何将SQL Azure数据库复制到本地开发服务器?
- SQL Server 2008不能用新创建的用户登录
- 更改varchar列的大小为较低的长度
- SQL Server中User和Login的区别
- 在参数声明中,varchar(MAX)的大小是多少?
- 数据库性能调优有哪些资源?
- 为两列的组合添加唯一的约束
- 我如何在MySQL中添加更多的成员到我的enum类型列?
- SQL Server的隐藏特性
- 方括号[]在sql语句中有什么用?