我正在尝试在SQL Server 2008中使用SQL语句更改列的默认值。我在许多地方找到了如何在创建表/添加列时设置默认值的方法,但没有找到如何在该列已经存在时设置/修改它的方法。
这是我可以用来设置添加时的语句:
ALTER TABLE MyTable ADD MyColumn int NOT NULL DEFAULT 0
这样做是有效的,但如果我稍后尝试进行修改:
ALTER TABLE MyTable ALTER COLUMN MyColumn int NOT NULL DEFAULT -1
ALTER TABLE MyTable ALTER COLUMN MyColumn int NOT NULL SET DEFAULT -1
这些都没有语法上的正确性,而且我找不到任何可以实现我所期望的语法。我唯一能想到的选择是添加一个新列,复制前一列中的值,然后删除前一列和新列以进行更改,但这对我来说似乎不太合适。
是否有一种简单的方法可以只用一个句子实现我想要的效果?
谢谢。
DF_Temp_X
(而不是系统生成的DF___temp__x__5A3B20F9
),那么这将变得更加容易。 - marc_s