sqlserver設定非空列

2021-08-25 12:17:52 字數 1831 閱讀 1527

alter table 只允許新增可包含空值或指定了 default 定義的列。

如果:if exists(select 1 from sysobjects where name = n'tab_test') and not exists(select 1 from sysobjects a, syscolumns b where b.id = a.id and b.name = n'col_test' and a.name = n'tab_test')

alter table tab_test

add col_test smallint not null

go將會收到錯誤資訊。

要增加非空列怎麼辦呢?

第1種辦法:在add column時指定列有default

alter table tab_test

add col_test not null constraint dftab_test_col_test default 1

第2種辦法:先給表增加個table_constraint default,再alter column

alter table tab_test

add constraint dftab_test_col_test default 1 for col_testalter table tab_test

alter column col_test int not null

第3種辦法:只好先增加空列,在修改為非空啦:

if exists(select 1 from sysobjects where name = n'tab_test') and not exists(select 1 from sysobjects a, syscolumns b where b.id = a.id and b.name = n'col_test' and a.name = n'tab_test')

alter table tab_test

add col_test smallint

goalter table tab_test

alter column col_test smallint not null

go語法如下:

alter table table_name

alter column column_name

)][null|not null]

| add

[ ,...n ]

| drop

] }< column_definition > ::=

[ [ default constant_expression ]

| identity [ ( seed , increment ) ]

] [rowguidcol]

[ < column_constraint > ] [ ...n ] ]

< column_constraint > ::=

[ null | not null ]

[ constraint constraint_name ]

| references ref_table [ (ref_column) ]

[ on delete ]

[ on update ]

}< table_constraint > ::=

[ constraint constraint_name ]

| foreign key

( column [ ,...n ] )

references ref_table [ (ref_column [ ,...n ] ) ]

[ on delete ]

[ on update ]

}

改int非空自增列為int可為空列

declare tablename nvarchar 250 宣告讀取資料庫所有資料表名稱游標mycursor1 declare mycursor1 cursor forselect name from dbo.sysobjects where objectproperty id,isusertab...

SQL Server 如何設定某列自增

對於已經建好的資料庫表,可以採用兩種方法來修改 若還有疑問可以看看最後的備註 1 通過sql server management studio修改 我使用的是2012版的 選擇資料庫表右鍵 設計表 點一下你要修改的列 在下方看到列屬性 將標識規範點開 在 是標識 那選擇是就改好了 完成以後如下所示 ...

jeesite實戰 三 設定實體屬性非空

jeesite實戰 一 基本環境搭建 jeesite實戰 二 jeesite工具生成基本的頁面 本系列文章主要記錄專案過程中重點的專案技術 注意下面兩種情況下不同的註解 1.notblank註解一般用於字串型別 2.notnull註解一般用於double,integer型別 notblank mes...