首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL Server: ALTER with添加新列

问SQL Server: ALTER with添加新列
EN

Stack Overflow用户
提问于 2012-02-18 00:51:34
回答 2查看 23.1K关注 0票数 9

我在SQL Server中有以下语句:

代码语言:javascript
复制
ALTER TABLE [dbo].[TruckTbl] 
ADD [TruckState] [bit] NULL DEFAULT 0;

这样做的目的是将所有新记录默认为0。

对于现有的记录,我如何在语句中获取和声明,并将其缺省为0。

我知道我可以去做一个更新,但是在上面的ALTER语句中的update中做什么呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-02-18 00:54:46

使用WITH VALUES子句

代码语言:javascript
复制
 ALTER TABLE [dbo].[TruckTbl] ADD [TruckState] [bit] NULL DEFAULT 0 WITH VALUES;

尽管我同意另一个答案,但如果您将所有现有行都设置为0并为将来的插入设置了默认值,那么该列就可以为空,这似乎很奇怪。您是否需要在这里允许NULL作为列值?

票数 19
EN

Stack Overflow用户

发布于 2015-12-22 22:52:54

代码语言:javascript
复制
ALTER TABLE {TABLENAME} 
ADD {COLUMNNAME} {TYPE} {NULL|NOT NULL} 
CONSTRAINT {CONSTRAINT_NAME} DEFAULT {DEFAULT_VALUE}
[WITH VALUES]

例如

代码语言:javascript
复制
ALTER TABLE Temp
ADD ID int NOT NULL DEFAULT(1)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9332262

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档