如何修改具有默认值的列的数据类型
我正在尝试将 SQL Server 中列的数据类型从tinyint 更改为smallint。
但我的列上有一个默认值,但我不知道约束的名称。
有简单的方法吗?
由于默认约束,这不起作用:
ALTER TABLE mytable
Alter Column myColumn smallint NOT NULL default 1
I'm trying to change the datatype of a column in SQL Server from tinyint to smallint.
But there's a default value on my column and I don't know the name of the constraint.
Is there an easy way to do it ?
This don't work because of the default constraint :
ALTER TABLE mytable
Alter Column myColumn smallint NOT NULL default 1
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您需要分几个步骤来完成此操作 - 首先:删除列上的默认约束,然后修改列。
你可以使用类似这样的代码:
You need to do this in several steps - first: drop the default constraint on your column, then modify your column.
You could use code something like this:
您可以通过三步过程来完成此操作,
(名称相同很重要),然后重复该过程以更改名称后退。
You could do it as a three step process
It it matters that the name is the same, then repeat the process to change the name back.
您可以使用 MS Management Studio 找到默认的约束名称。只需找到给定数据库的表文件夹并在约束下查看即可。如果有很多约束,您可以“将约束编写到显示关联列名称的查询窗口”。
You can find the constraint name for the default using MS Management Studio. Just find the tables folder for the given DB and look under Constraints. If there are many constraints, you can "Script the Constraint(s) to a query window which show the associated column name.