主頁(yè) > 知識(shí)庫(kù) > sql自動(dòng)增長(zhǎng)標(biāo)識(shí)導(dǎo)致導(dǎo)入數(shù)據(jù)問題的解決方法

sql自動(dòng)增長(zhǎng)標(biāo)識(shí)導(dǎo)致導(dǎo)入數(shù)據(jù)問題的解決方法

熱門標(biāo)簽:山西語音外呼系統(tǒng)價(jià)格 溫州語音外呼系統(tǒng)代理 西安青牛防封電銷卡 北京辦理400電話多少 南京電銷外呼系統(tǒng)運(yùn)營(yíng)商 威海智能語音外呼系統(tǒng) 重慶防封電銷機(jī)器人供應(yīng)商 400電話申請(qǐng)需要開戶費(fèi)嗎 智能語音外呼系統(tǒng)哪個(gè)牌子好
對(duì)于一個(gè)設(shè)了自動(dòng)增長(zhǎng)標(biāo)識(shí)的數(shù)據(jù)表來說,它的字段的值是由數(shù)據(jù)庫(kù)自動(dòng)設(shè)置的;這在導(dǎo)數(shù)據(jù)時(shí)很麻煩。

當(dāng)我們導(dǎo)數(shù)據(jù)時(shí),我們往往想想將標(biāo)識(shí)字段的數(shù)據(jù)也導(dǎo)進(jìn)來,怎么辦呢?

方法有兩種:

1.用數(shù)據(jù)庫(kù)管理工具在界面將表的自動(dòng)增長(zhǎng)標(biāo)識(shí)去除,導(dǎo)完數(shù)據(jù),再在界面里改回來。(這種方法麻煩,且要?jiǎng)訑?shù)據(jù)表設(shè)置中,不推薦)

2.用SET IDENTITY_INSERT OFF和SET IDENTITY_INSERT ON(推薦這種方法)

SET IDENTITY_INSERT [ database_name . [ schema_name ] . ] table { ON | OFF }
database_name
指定的表所在的數(shù)據(jù)庫(kù)的名稱。

schema_name
表所屬架構(gòu)的名稱。

table
包含標(biāo)識(shí)列的表的名稱。

注釋
任何時(shí)候,一個(gè)會(huì)話中只有一個(gè)表的 IDENTITY_INSERT 屬性可以設(shè)置為 ON。如果某個(gè)表已將此屬性設(shè)置為 ON,則對(duì)另一個(gè)表發(fā)出 SET IDENTITY_INSERT ON 語句時(shí),SQL Server 將返回一個(gè)錯(cuò)誤信息,指出 SET IDENTITY_INSERT 已設(shè)置為 ON,并報(bào)告已將其屬性設(shè)置為 ON 的表。

如果插入值大于表的當(dāng)前標(biāo)識(shí)值,則 SQL Server 自動(dòng)將新插入值作為當(dāng)前標(biāo)識(shí)值使用。


SET IDENTITY_INSERT 的設(shè)置是在執(zhí)行或運(yùn)行時(shí)設(shè)置的,而不是在分析時(shí)設(shè)置的。

權(quán)限
用戶必須擁有表,或?qū)Ρ砭哂?ALTER 權(quán)限。

示例
下面的示例將創(chuàng)建一個(gè)包含標(biāo)識(shí)列的表,并說明如何使用 SET IDENTITY_INSERT 設(shè)置來填充由 DELETE 語句導(dǎo)致的標(biāo)識(shí)值中的空隙。

復(fù)制代碼 代碼如下:

USE AdventureWorks2012;
GO
-- Create tool table.
CREATE TABLE dbo.Tool(
ID INT IDENTITY NOT NULL PRIMARY KEY,
Name VARCHAR(40) NOT NULL
)
GO
-- Inserting values into products table.
INSERT INTO dbo.Tool(Name) VALUES ('Screwdriver')
INSERT INTO dbo.Tool(Name) VALUES ('Hammer')
INSERT INTO dbo.Tool(Name) VALUES ('Saw')
INSERT INTO dbo.Tool(Name) VALUES ('Shovel')
GO


-- Create a gap in the identity values.
DELETE dbo.Tool
WHERE Name = 'Saw'
GO

SELECT *
FROM dbo.Tool
GO

-- Try to insert an explicit ID value of 3;
-- should return a warning.
INSERT INTO dbo.Tool (ID, Name) VALUES (3, 'Garden shovel')
GO

-- SET IDENTITY_INSERT to ON.
SET IDENTITY_INSERT dbo.Tool ON
GO

-- Try to insert an explicit ID value of 3.
INSERT INTO dbo.Tool (ID, Name) VALUES (3, 'Garden shovel')
GO

SELECT *
FROM dbo.Tool
GO
-- Drop products table.
DROP TABLE dbo.Tool
GO

標(biāo)簽:黃山 金昌 貸款群呼 宜春 河源 濟(jì)寧 新余 中衛(wèi)

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《sql自動(dòng)增長(zhǎng)標(biāo)識(shí)導(dǎo)致導(dǎo)入數(shù)據(jù)問題的解決方法》,本文關(guān)鍵詞  sql,自動(dòng),增長(zhǎng),標(biāo)識(shí),導(dǎo)致,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《sql自動(dòng)增長(zhǎng)標(biāo)識(shí)導(dǎo)致導(dǎo)入數(shù)據(jù)問題的解決方法》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于sql自動(dòng)增長(zhǎng)標(biāo)識(shí)導(dǎo)致導(dǎo)入數(shù)據(jù)問題的解決方法的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章