SQL在自增列插入指定數(shù)據(jù)的操作方法

2019-01-01 23:27:14 來(lái)源:大穩(wěn)·楊作者:佚名 人氣: 次閱讀 806 條評(píng)論

SQL Server? 中數(shù)據(jù)表往往會(huì)設(shè)置自增列,常見(jiàn)的比如說(shuō) 首列的ID列。 往數(shù)據(jù)表插入新數(shù)據(jù)的時(shí)候,自增列是跳過(guò)的,無(wú)需插入即會(huì)按照設(shè)置的自增規(guī)則進(jìn)行列增長(zhǎng)。...

文章主要介紹了SQL 在自增列插入指定數(shù)據(jù)的操作方法,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

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è)試表

  1. CREATE TABLE randy_test (id INT IDENTITY ( 1 , 1 ), num INT )

二:如果強(qiáng)行插入數(shù)據(jù)時(shí):

  1. 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í)行我們的插入操作

  1. SET IDENTITY_INSERT randy_test ON
  2. INSERT INTO randy_test (id,num) VALUES (1,11);
  3. INSERT INTO randy_test (id,num) VALUES (2,22);
  4. set identity_insert randy_test OFF
  5. (1 行受影響)
  6. (1 行受影響)

結(jié)果如下圖:

  1. SELECT *FROM randy_test AS rt
  2. id num
  3. 1 11
  4. 2 22

總結(jié)

以上所述是小編給大家介紹的SQL 在自增列插入指定數(shù)據(jù)的操作方法,希望對(duì)大家有所幫助。