文章主要介紹了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è)試表
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ì)大家有所幫助。
- SQL Server在分頁(yè)獲取數(shù)據(jù)的同時(shí)獲取到總記錄數(shù)的兩種
- 使用SQL語(yǔ)句去掉重復(fù)記錄的兩種方法
- SQL server數(shù)據(jù)庫(kù)高可用日志傳送的方法
- Sql Server 數(shù)據(jù)庫(kù)中調(diào)用dll文件的過(guò)程
- Sql Server 數(shù)據(jù)庫(kù)獲取字符串中小寫字母的SQL語(yǔ)句
- Sql Server數(shù)據(jù)庫(kù)如何去掉內(nèi)容里面的Html標(biāo)簽
- SQL Server數(shù)據(jù)庫(kù)遠(yuǎn)程更新目標(biāo)表數(shù)據(jù)的存儲(chǔ)過(guò)程
- MsSql 數(shù)據(jù)庫(kù)使用sqlplus創(chuàng)建DDL和DML操作方法
- SQL Server常見(jiàn)問(wèn)題介紹及快速解決建議
- SQL中的常用的字符串處理函數(shù)大全
分享到:
投訴收藏