新聞中心
數(shù)據(jù)庫(kù)是大家都非常熟悉的,下文中將為大家介紹如何在數(shù)據(jù)庫(kù)的標(biāo)識(shí)列里插入特定的值。盡管你可以對(duì)標(biāo)識(shí)列(identity column)的值及其任意值的用處有千條萬條理由,但是和你共同工作的一些人會(huì)堅(jiān)持在給定的表格里使用連續(xù)的主關(guān)鍵字(PK)。然后,當(dāng)發(fā)票號(hào)丟失的時(shí)候,他們就會(huì)恐慌、害怕被起訴、掩蓋錯(cuò)誤,甚至更糟。

創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比望奎網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫(kù),直接使用。一站式望奎網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋望奎地區(qū)。費(fèi)用合理售后完善,十載實(shí)體公司更值得信賴。
為了解決這個(gè)問題,你可以創(chuàng)建一個(gè)帶有標(biāo)識(shí)列的表格,并用一些數(shù)據(jù)行來填充它:
Create a test table.
CREATE TABLE TestIdentityGaps
(
ID int IDENTITY PRIMARY KEY,
Description varchar(20)
)
GO
-- Insert some values. The word INTO is optional:
INSERT [INTO] TestIdentityGaps (Description) VALUES ('One')
INSERT [INTO] TestIdentityGaps (Description) VALUES ('Two')
INSERT [INTO] TestIdentityGaps (Description) VALUES ('Three')
INSERT [INTO] TestIdentityGaps (Description) VALUES ('Four')
INSERT [INTO] TestIdentityGaps (Description) VALUES ('Five')
INSERT [INTO] TestIdentityGaps (Description) VALUES ('Six')
GO
現(xiàn)在,刪除幾個(gè)數(shù)據(jù)行:
DELETE TestIdentityGaps
WHERE Description IN('Two', 'Five')
在我們編寫代碼的時(shí)候,我們知道“二(Two)”和“五(Five)”這兩個(gè)值丟了。我們想要插入兩個(gè)數(shù)據(jù)行來填補(bǔ)這些空缺。兩個(gè)簡(jiǎn)單的INSERT陳述式無法滿足要求;但是,它們會(huì)在序列的結(jié)尾創(chuàng)建主關(guān)鍵字。
INSERT [INTO] TestIdentityGaps (Description)
VALUES ('Two Point One')
INSERT [INTO] TestIdentityGaps
(Description) VALUES ('Five Point One')
GO
SELECT * FROM TestIdentityGaps
你也無法明確地設(shè)置標(biāo)識(shí)列的值:
-- Try inserting an explicit ID value of 2. Returns a warning.
INSERT INTO TestIdentityGaps (id, Description)
VALUES(2, 'Two Point One')
GO
為了解決這個(gè)問題,SQL服務(wù)器2000用IDENTITY_INSERT來進(jìn)行設(shè)置。為了強(qiáng)行插入一個(gè)帶有特定值的數(shù)據(jù)行,你需要發(fā)出命令,然后在后面接上具體插入的內(nèi)容:
SET TestIdentityGapsON
INSERT INTO TestIdentityGaps
(id, Description) VALUES(2, 'Two Point One')
INSERT INTO TestIdentityGaps
(id, Description) VALUES(5, 'Five Point One')
GO
SELECT * FROM TestIdentityGaps
現(xiàn)在你可以看到新的數(shù)據(jù)行已經(jīng)用指定的主關(guān)鍵字值插入了。
注意:對(duì)IDENTITY_INSERT的設(shè)置可以在任何特定的時(shí)候用在數(shù)據(jù)庫(kù)里的某個(gè)表格上。如果需要在一個(gè)或者多個(gè)表格里填補(bǔ)空缺,你就必須用具體的命令來明確地指明每個(gè)表格。
你可以在一個(gè)帶有標(biāo)識(shí)列的表格里插入一個(gè)具體的值,但是要這樣做的話,你必須首先把IDENTITY_INSERT的值設(shè)置為ON。如果你沒有,你就會(huì)看到一條錯(cuò)誤消息。即使你把IDENTITY_INSERT的值設(shè)置為了ON,但是如果再插入一個(gè)已有的值的話,你還是會(huì)看到錯(cuò)誤消息。
文章名稱:如何在數(shù)據(jù)庫(kù)的標(biāo)識(shí)列里插入特定的值
網(wǎng)站路徑:http://m.fisionsoft.com.cn/article/dhsiegj.html


咨詢
建站咨詢
