SQL怎样添加自增长、非空字段

知道91 | 数据库 | 2015-03-07 | 阅读:6321

当我们在不断修改我们的数据库的时候,经常会涉及到修改表结构字段,当然我们可以通过可视化工具修改,但是有的时候使用可视化工具达不到想要的结果,比如我们想要添加一个非空字段,但是表中已经有了数据,这个时候就需要使用sql语句了。看下面的情况:

sql添加可以为空的字段

添加可以为空的字段比较简单,我们可以通过可视化工具来添加,当然也可以通过sql语句来添加,例子如下面的例子给Content表加上一个nvarchar(256)类型的Keyword字段,并且是可以为空的。

ALTER TABLE Content ADD Keyword nvarchar(256)

sql添加非空的字段

如果上面的Keyword不能为空,那么sql写法如下所示:

ALTER TABLE Content ADD Keyword nvarchar(256) NOT NULL

只需要在后面加上NOT NULL即可。

sql添加自增长字段

假如我们想要个给Content加上一个名为IdNumber的只增长字段,增幅是1,且可以为空

原始的方法代码:

ALTER TABLE Content ADD IdNumber INT IDENTITY(1,1) 

如果不允许为空sql如下所示:

ALTER TABLE Content ADD IdNumber INT IDENTITY(1,1) NOT NULL

同样只需要在后面加上NOT NULL即可。

但是还有一个更好的方法如下所示:

ALTER TABLE Content ADD IdNumber bigint  NOT NULL Default 0
GO 
DECLARE @IdNumber bigint 
SET @IdNumber = 0 
UPDATE cms_Content 
SET @IdNumber = IdNumber = @IdNumber + 1 
GO

这个方法是使原来的数据真正实现了从1递增。