SQL Server 中數(shù)據(jù)表往往會(huì)設(shè)置自增列,常見(jiàn)的比如說(shuō) 首列的ID列。 往數(shù)據(jù)表插入新數(shù)據(jù)的時(shí)候,自增列是跳過(guò)的,無(wú)需插入即會(huì)按照設(shè)置的自增規(guī)則進(jìn)行列增長(zhǎng)。那么,如果我們想往自增列插入我們指定的數(shù)據(jù)時(shí)該怎么做呢?
一:建立一張簡(jiǎn)單的測(cè)試表
CREATE TABLE randy_test (id INT IDENTITY ( 1 , 1 ), num INT )
二:如果強(qiáng)行插入數(shù)據(jù)時(shí):
INSERT INTO randy_test VALUES (1,11)
消息 8101,級(jí)別 16,狀態(tài) 1,第 1 行
僅當(dāng)使用了列列表并且 IDENTITY_INSERT 為 ON 時(shí),才能為表'randy_test'中的標(biāo)識(shí)列指定顯式值。
可以看到,數(shù)據(jù)庫(kù)提示 不能給標(biāo)識(shí)列指定顯示值,除非 將數(shù)據(jù)表設(shè)置IDENTITY_INSERT為ON
三:設(shè)置標(biāo)識(shí)列插入開(kāi)關(guān) 開(kāi)啟,然后執(zhí)行我們的插入操作
SET IDENTITY_INSERT randy_test ON
INSERT INTO randy_test (id,num) VALUES (1,11);
INSERT INTO randy_test (id,num) VALUES (2,22);
set identity_insert randy_test OFF
(1 行受影響)
(1 行受影響)
結(jié)果如下圖:
SELECT *FROM randy_test AS rt
id num
1 11
2 22
總結(jié)
以上所述是小編給大家介紹的SQL 在自增列插入指定數(shù)據(jù)的操作方法,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
您可能感興趣的文章:- MySQL自增列插入0值的解決方案
- Node.js下向MySQL數(shù)據(jù)庫(kù)插入批量數(shù)據(jù)的方法
- Mysql使用insert插入多條記錄 批量新增數(shù)據(jù)
- MySQL使用UNIQUE實(shí)現(xiàn)數(shù)據(jù)不重復(fù)插入
- mysql 從一個(gè)表中查數(shù)據(jù)并插入另一個(gè)表實(shí)現(xiàn)方法
- Android批量插入數(shù)據(jù)到SQLite數(shù)據(jù)庫(kù)的方法