我试图改变一个列从一个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]
在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
alter column column_name datatype [NULL|NOT NULL]
更改主键
ALTER TABLE table_name
ADD CONSTRAINT PK_MyTable PRIMARY KEY (column_name)
在11 g:
ALTER TABLE TableName
Modify ColumnName DataType;
例如: 更改表格员工 修改出生日期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)。
推荐文章
- 选项(RECOMPILE)总是更快;为什么?
- 设置数据库从单用户模式到多用户
- 我如何转义一个百分比符号在T-SQL?
- SQL Server恢复错误-拒绝访问
- 添加一个复合主键
- 如何在SQL Server Management Studio中查看查询历史
- SQL Server索引命名约定
- 可以为公共表表达式创建嵌套WITH子句吗?
- SQL Server的NOW()?
- 在SQL Server中截断(不是四舍五入)小数位
- 在Swift中转换Float为Int
- 如何在SQL Server数据库中更改列数据类型而不丢失数据?
- 保持简单,以及如何在一个查询中执行多个CTE
- 如何使用TSQL截断数据库中的所有表?
- 如何将字符串转换为日期时间与格式规范在JavaScript?