欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

在SQL Server數(shù)據(jù)庫中為標(biāo)識(shí)(IDENTITY)列插入顯式值

 更新時(shí)間:2007年02月07日 00:00:00   作者:  
SQL Server中的標(biāo)識(shí)列和ACCESS中的“自動(dòng)編號(hào)”相似,都是插入記錄的時(shí)候自動(dòng)生成,一般不允許也不需要我們?nèi)ナ謩?dòng)修改它
如果我們?cè)跇?biāo)識(shí)列中插入值,例如:

insert member(id,username) values(10,'admin')

則在查詢分析器里面會(huì)返回錯(cuò)誤信息:
 引用內(nèi)容
服務(wù)器: 消息 544,級(jí)別 16,狀態(tài) 1,行 1
當(dāng) IDENTITY_Insert 設(shè)置為 OFF 時(shí),不能向表 'member' 中的標(biāo)識(shí)列插入顯式值。

而在ASP程序中會(huì)返回錯(cuò)誤信息:
 引用內(nèi)容
Microsoft OLE DB Provider for SQL Server 錯(cuò)誤 '80040e14' 

當(dāng) IDENTITY_Insert 設(shè)置為 OFF 時(shí),不能向表 'member' 中的標(biāo)識(shí)列插入顯式值。 

test.asp,行 13 


但有的情況我們需要手動(dòng)插入標(biāo)識(shí)列的值,例如刪除了一些記錄后,標(biāo)識(shí)列并不連續(xù),而我們又想把它補(bǔ)齊。我們利用一個(gè)開關(guān)可以讓愿望變成現(xiàn)實(shí):

SET IDENTITY_Insert [TableName] ON

在查詢分析器里面這樣寫:

SET IDENTITY_Insert member ON
insert member(id,username) values(1,'admin')
SET IDENTITY_Insert member OFF

在ASP頁面可以這樣寫:

con.execute("SET IDENTITY_Insert member ON" & vbcrlf & "insert member(id,username) values(2,'abcde')" & vbcrlf & "SET IDENTITY_Insert member OFF")

使用該方法應(yīng)該保證標(biāo)識(shí)列沒有插入重復(fù)數(shù)據(jù),要不然會(huì)返回錯(cuò)誤,插入操作不會(huì)進(jìn)行。SET IDENTITY_Insert [TableName] OFF 其實(shí)可以省略,因?yàn)闀?huì)話完畢后,這個(gè)開關(guān)就自動(dòng)關(guān)上了。

相關(guān)文章

最新評(píng)論