sqlserver 下 修改表的某個(gè)字段默認(rèn)值語法是怎么樣的
創(chuàng)新互聯(lián)公司咨詢電話:028-86922220,為您提供成都網(wǎng)站建設(shè)網(wǎng)頁設(shè)計(jì)及定制高端網(wǎng)站建設(shè)服務(wù),創(chuàng)新互聯(lián)公司網(wǎng)頁制作領(lǐng)域10多年,包括濕噴機(jī)等多個(gè)領(lǐng)域擁有豐富的網(wǎng)站推廣經(jīng)驗(yàn),選擇創(chuàng)新互聯(lián)公司,為企業(yè)保駕護(hù)航!
一、代碼如下:
alter table everygamelog drop constraint [DF_EveryGameLog_Memo]
ALTER TABLE everygamelog ADD
CONSTRAINT [DF_EveryGameLog_Memo] DEFAULT ( '正常') FOR [Memo]
二、sql server 字段設(shè)置約束
一)一.給字段添加默認(rèn)值
語法:
alter table 表名 add constraint 約束名字 DEFAULT 默認(rèn)值 for 字段名稱
例:
alter table WD_Platform add constraint DF_WD_Platform_Platform_UID DEFAULT '' for Platform_UID
二)查找某字段默認(rèn)約束名稱
declare @constraint_name varchar(100)
select @constraint_name =obj.name from syscolumns as col
join sysobjects as obj on obj.id=col.cdefault
where col.id=object_id('WD_Platform') and col.name='Platform_UID'
select @constraint_name
說明: syscolumns用戶數(shù)據(jù)庫所定義的標(biāo)字段都出在此.
sysobjects:用戶數(shù)據(jù)庫所定義的表,主鍵,外鍵,約束等都存放在這張系統(tǒng)表.
三)判斷是否存在莫約束
if exists(select top 1 1 from sysobjects where name='DF_WD_Platform_Platform_UID') begin
select 約束存在
end
四)刪除約束
ALTER TABLE WD_Platform DROP CONSTRAINT DF_WD_Platform_Platform_UID
備注約束不能直接修改,如果需要更改約束值,請(qǐng)先刪除后,再創(chuàng)建.
你用法不對(duì)
首先你要在左側(cè)的樹里找到你的表名,然后展開,然后找約束
比如下圖所示
這個(gè)默認(rèn)值的約束名字就叫:DF__TEST__ID__14F1071C
然后先給干掉
alter?table?表名?drop?constraint?DF__TEST__ID__14F1071C
然后重新添加
alter?table?表名?add?constraint?DF__TEST__ID__14F1071C?DEFAULT?(('默認(rèn)值'))?for?字段名--這里DF__TEST__ID__14F1071C?DEFAULT?你可以重新起名的
其實(shí)在修改數(shù)據(jù)庫名稱之前,如果有用戶連接到數(shù)據(jù)庫的話會(huì)造成數(shù)據(jù)庫重命名失敗,可以先執(zhí)行
select spid
from master.dbo.sysprocesses
where dbid=db_id('OldDbName')
結(jié)果集中顯示的是當(dāng)前連接到數(shù)據(jù)庫OldDbName的連接比如結(jié)果是7981當(dāng)然,實(shí)際值應(yīng)該不是這兩個(gè)然后執(zhí)行kill 79kill 81關(guān)閉已建立的連接,之后再執(zhí)行
EXEC sp_dboption 'OldDbName', 'Single User', 'TRUE'
EXEC sp_renamedb 'OldDbName', 'NewDbName'
EXEC sp_dboption 'NewDbName', 'Single User', 'FALSE'
上述語句最好都在master數(shù)據(jù)庫中執(zhí)行。
另外也可以這樣:
先分離數(shù)據(jù)庫,然后附加的時(shí)候再修改就可以了
SQL Server不支持直接修改數(shù)據(jù)庫名稱
修改表,添加默認(rèn)值的語句如下:
alter
table
表名
add
constraint
df_time_19000101
default
'1900-1-1'
for
列名
注意把“表名”、“列名”替換成實(shí)際的名字。
另外df_time_19000101
是一個(gè)約束名,建議你把它命名為
df_表名_列名
的形式,這樣可以避免其它表中存在相同的約束名。
另外“若輸入時(shí)間為空”這個(gè)條件,直接通過給列賦予NULL值得話,就不能利用到默認(rèn)值。所以注意在插入數(shù)據(jù)的時(shí)候或者不給定時(shí)間列的值使用默認(rèn)值,或者必須給定值。
工具/材料:以ManagementStudio為例。
1、首先,點(diǎn)擊桌面上的“ManagementStudio”圖標(biāo)。
2、然后在界面中,選擇“Datatabletomodifyfieldproperties”。
3、之后,右鍵單擊界面中的“設(shè)計(jì)”選項(xiàng)。
4、然后在界面中,選擇要修改的“字段屬性”選項(xiàng)。
5、然后,在接口中,修改選項(xiàng)“intproperty”。
6、之后,點(diǎn)擊界面頂部的“保存”按鈕。
7、最后,在這個(gè)接口中,field屬性成功地更改為int。
通過update方法實(shí)現(xiàn)。
sql:update table tablename t set filename =值1 where t.name='條件'。
解釋:更改某列,說明有條件,所有必須通過“where”條件語句定位到列。定位成功后,通過set方法給固定字段賦值即可。
上面sql語句的意思:更改tablename 表中name值為“條件”的記錄,將“filename ”的值改為“值1”。