【发布时间】:2014-06-25 19:53:17
【问题描述】:
所以我要做的是更改表并将列从 BIT 更改为 INT。尽管当前列中有空值,但我想将其更改为 -1 并且不允许为空。由于 BIT 仅包含 0 和 1,我将如何将列更改为 INT 并将 Null 值设置为 -1
我在想一些类似的事情
ALTER TABLE TABLENAME
ALTER COLUMN COLUMNAME INT SET DEFAULT -1
WHEN NULL THEN CAST(-1 AS INT)
【问题讨论】:
-
您使用的是哪个 DBMS?
-
sql management studio,我将把它写成脚本而不是使用生成器,因为我需要保留当前列的值而不丢失它们
-
不按部就班的做是不是有什么特殊的原因——改变类型、更新数据、添加非空约束?
-
所以更改类型,然后将值为空的值更改为-1,然后添加非空约束,最后我需要将默认值设置为-1? @MartinK。
-
当然,我猜你只会这样做一次
标签: sql-server bit alter-table