佳木斯湛栽影视文化发展公司

主頁(yè) > 知識(shí)庫(kù) > SQL IDENTITY_INSERT作用案例詳解

SQL IDENTITY_INSERT作用案例詳解

熱門(mén)標(biāo)簽:網(wǎng)站排名優(yōu)化 Linux服務(wù)器 地方門(mén)戶(hù)網(wǎng)站 百度競(jìng)價(jià)排名 AI電銷(xiāo) 鐵路電話(huà)系統(tǒng) 服務(wù)外包 呼叫中心市場(chǎng)需求

一般情況下,當(dāng)數(shù)據(jù)表中,莫一列被設(shè)置成了標(biāo)識(shí)列之后,是無(wú)法向標(biāo)識(shí)列中手動(dòng)的去插入標(biāo)識(shí)列的顯示值。但是,可以通過(guò)設(shè)置SET IDENTITY_INSERT屬性來(lái)實(shí)現(xiàn)對(duì)標(biāo)識(shí)列中顯示值的手動(dòng)插入。

寫(xiě)法:

  1. SET IDENTITY_INSERT 表名 ON :表示開(kāi)啟對(duì)標(biāo)識(shí)列顯示值插入模式,允許對(duì)標(biāo)識(shí)列顯示值進(jìn)行手動(dòng)插入數(shù)據(jù)。
  2. SET IDENTITY_INSERT 表名 OFF:表示關(guān)閉對(duì)標(biāo)識(shí)列顯示值的插入操作,標(biāo)識(shí)列不允許手動(dòng)插入顯示值。

注意:IDENTITY_INSERT的開(kāi)啟ON和關(guān)閉OFF是成對(duì)出現(xiàn)的,所以,在執(zhí)行完手動(dòng)插入操作之后,記得一定要把IDENTITY_INSERT設(shè)置為OFF,否則下次的自動(dòng)插入數(shù)據(jù)會(huì)插入失敗。

例如:

創(chuàng)建一張表b1,b_id為標(biāo)識(shí)列,設(shè)置為唯一標(biāo)識(shí),從1開(kāi)始,每次插入新數(shù)據(jù)時(shí),值都遞增1,不允許為空:

CREATE table b1
(
b_id int identity(1,1) primary key not null,   
b_name varchar(20) null
)

當(dāng)把表b1中b_id這一列設(shè)置為唯一標(biāo)識(shí)列的時(shí)候,IDENTITY_INSERT屬性的值就默認(rèn)被設(shè)置為了OFF了。標(biāo)識(shí)列b_id列不允許手動(dòng)去插入顯示值,只能由系統(tǒng)自動(dòng)按照排順序去插入顯示的值。

1.當(dāng)IDENTITY_INSERT 為OFF時(shí),往表b1中插入2條數(shù)據(jù),往標(biāo)識(shí)列中手動(dòng)插入顯示值:

 代碼1:

insert into b1(b_id,b_name) values(1,'莉莉')
insert into b1(b_id,b_name) values(2,'阿呆')

插入結(jié)果:

代碼2:

insert into b1(b_name) values('莉莉')
insert into b1(b_name) values('阿呆')

插入結(jié)果:

說(shuō)明:當(dāng)把IDENTITY_INSERT設(shè)置為OFF時(shí),標(biāo)識(shí)列是不允許手動(dòng)插入顯示值的,只能有系統(tǒng)去自動(dòng)插入標(biāo)識(shí)列的顯示值。

2.當(dāng)IDENTITY_INSERT 為ON時(shí),往表b1中插入2條數(shù)據(jù),往標(biāo)識(shí)列中手動(dòng)插入顯示值:

代碼1:

set identity_insert b1 on --開(kāi)啟對(duì)標(biāo)識(shí)列的插入模式,標(biāo)識(shí)列允許手動(dòng)插入顯示值
insert into b1(b_id,b_name) values(8,'小白')  --手動(dòng)去插入標(biāo)識(shí)列b_id的顯示值為8
insert into b1(b_id,b_name) values(9,'小黑')
set identity_insert b1 off --關(guān)閉對(duì)標(biāo)識(shí)列的插入操作,標(biāo)識(shí)列不允許手動(dòng)插入顯示值

插入結(jié)果:

代碼2:

set identity_insert b1 on --開(kāi)啟對(duì)標(biāo)識(shí)列的插入模式,標(biāo)識(shí)列允許手動(dòng)插入顯示值
insert into b1(b_name) values('小胖')  --手動(dòng)去插入標(biāo)識(shí)列b_id的顯示值為8
insert into b1(b_name) values('小寶')
set identity_insert b1 off --關(guān)閉對(duì)標(biāo)識(shí)列的插入操作,標(biāo)識(shí)列不允許手動(dòng)插入顯示值

插入結(jié)果:

說(shuō)明:當(dāng)設(shè)置IDENTITY_INSERT為ON時(shí),必須要指定標(biāo)識(shí)列中要插入的的顯示值,要手動(dòng)的插入標(biāo)識(shí)列中的顯示值。因?yàn)橄到y(tǒng)將不再對(duì)標(biāo)識(shí)列的顯示值自動(dòng)插入了。所以,必須要手動(dòng)去給標(biāo)識(shí)列插入顯示值。

到此這篇關(guān)于SQL IDENTITY_INSERT作用案例詳解的文章就介紹到這了,更多相關(guān)SQL IDENTITY_INSERT作用內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • [項(xiàng)目布局配置]Nosql與PythonWeb-Flask框架組合
  • MySQL 1130異常,無(wú)法遠(yuǎn)程登錄解決方案詳解
  • 解決mysql數(shù)據(jù)庫(kù)數(shù)據(jù)遷移達(dá)夢(mèng)數(shù)據(jù)亂碼問(wèn)題
  • SQL寫(xiě)法--行行比較
  • MySQL連接異常報(bào)10061錯(cuò)誤問(wèn)題解決
  • 解決SpringBoot application.yaml文件配置schema 無(wú)法執(zhí)行sql問(wèn)題
  • mac安裝mysql數(shù)據(jù)庫(kù)及配置環(huán)境變量的圖文教程
  • 基于JavaSwing設(shè)計(jì)和實(shí)現(xiàn)的酒店管理系統(tǒng)

標(biāo)簽:仙桃 銅川 湘潭 衡水 蘭州 黃山 崇左 湖南

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《SQL IDENTITY_INSERT作用案例詳解》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話(huà)咨詢(xún)

    • 400-1100-266
    重庆市| 延安市| 陈巴尔虎旗| 鲁甸县| 什邡市| 乐安县| 临海市| 台北县| 定陶县| 藁城市| 嵊州市| 德阳市| 新河县| 胶南市| 韶山市| 织金县| 阿瓦提县| 凌海市| 海南省| 平山县| 江都市| 永寿县| 青川县| 仪陇县| 达州市| 沙雅县| 诏安县| 高要市| 老河口市| 舞钢市| 达拉特旗| 兴安盟| 尚义县| 廉江市| 拜泉县| 甘肃省| 萝北县| 临桂县| 平塘县| 赞皇县| 买车|