校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > SQL Server中identity(自增)的用法詳解

SQL Server中identity(自增)的用法詳解

熱門標簽:實體店地圖標注怎么標 外呼系統會封嗎 在電子版地圖標注要收費嗎 武漢AI電銷機器人 電銷機器人 深圳 萬利達綜合醫院地圖標注點 南京電銷外呼系統哪家好 股票配資電銷機器人 地圖標注如何弄全套標

一、identity的基本用法

1.含義

identity表示該字段的值會自動更新,不需要我們維護,通常情況下我們不可以直接給identity修飾的字符賦值,否則編譯時會報錯

2.語法

列名 數據類型 約束 identity(m,n)

m表示的是初始值,n表示的是每次自動增加的值

如果m和n的值都沒有指定,默認為(1,1)

要么同時指定m和n的值,要么m和n都不指定,不能只寫其中一個值,不然會出錯

3.實例演示

不指定m和n的值

create table student1
(
 sid int primary key identity,
 sname nchar(8) not null,
 ssex nchar(1)
)
insert into student1(sname,ssex) values ('張三','男');
insert into student1 values ('李四','女');--可以省略列名
insert into student1 values ('王五','女');

指定m和n的值

create table student2
(
 sid int primary key identity(20,5),
 sname nchar(8) not null,
 ssex nchar(1)
)
insert into student2(sname,ssex) values ('張三','男');
insert into student2 values ('李四','女');--可以省略列名
insert into student2 values ('王五','女');

4.刪除一條記錄接著插入

把sid為2的記錄刪除,繼續插入,新插入的記錄的sid不是2,而是3

create table student3
(
 sid int primary key identity,
 sname nchar(8) not null,
 ssex nchar(1)
)
insert into student3(sname,ssex) values ('張三','男');
insert into student3 values ('李四','女');
delete from student3 where sid=2;--把sid為2的記錄刪除
insert into student3 values ('王五','女');

二、重新設置identity的值

1.語法

dbcc checkident(表名,reseed,n);

n+1表示的是表中identity字段的初始值(n的值可以為0)

也就是說:如果插入的是id為2的記錄,則n的值是1

2.實例演示

create table student4
(
 sid int primary key identity,
 sname nchar(8) not null,
 ssex nchar(1)
)
insert into student4(sname,ssex) values ('張三','男');
insert into student4 values ('李四','女');
delete from student4 where sid=2;--把sid為2的記錄刪除
dbcc checkident('student4',reseed,1);--把student4表中identity字段的初始值重新設置為1
insert into student4 values ('王五','女');

三、向identity字段插入數據

1.語法

set identity_insert 表名 on;

insert into 表名(列名1,列名2,列名3,列名4) values (數據1,數據2,數據3,數據4);

set identity_insert 表名 off;

注意:插入數據時必須得指定identity修飾的字段的名字

2.實例演示

create table student5
(
 sid int primary key identity(20,5),
 sname nchar(8) not null,
 ssex nchar(1)
)
insert into student5(sname,ssex) values ('張三','男');
insert into student5 values ('李四','女');
insert into student5 values ('王五','女');
set identity_insert student5 on;
/*
insert into student5 values ('黑六','男');--error
insert into student5 values (21,'黑六','男');--error
*/
insert into student5(sid,sname,ssex) values (21,'黑六','男');
set identity_insert student5 off;
/*
insert into student5 values (22,'趙七','女');--error
insert into student5(sid,sname,ssex) values (22,'趙七','女');--error
*/
insert into student5 values ('趙七','女');

補充知識:SQL Server 添加與刪除主鍵約束

PRIMARY KEY 約束唯一標識數據庫表中的每條記錄。主鍵必須包含唯一的值。主鍵列不能包含 NULL 值。每個表都應該有一個主鍵,并且每個表只能有一個主鍵。

主鍵約束操作包含了添加約束和刪除約束,修改約束其實是添加約束或者刪除約束。

添加主鍵約束比較 簡單,但是刪除一個沒有約束名的主鍵約束則比較復雜,如果不是很不了解SQL Server的話則比很難實現該功能。

主鍵約束操作基本語句

如果是在新建表的時候添加主鍵約束比較簡單,直接在列名后加入primary key即可,標準的添加主鍵約束的SQL腳本如下:

create table 表名 (  字段名1 int not null, ...,
  [constraint 約束名] primary key (字段名1, …)
)

其中約束名可選(建議選擇,否則系統會分配隨機臨時名稱)。這種方法可以任意添加多個或一個主鍵約束。

對已有表添加主鍵約束,與上面的腳本類似,如下:

alter table 表名 [add constraint 約束名] primary key(字段名1,... )

其中約束名與上相同,可選,建議指定。

SQL Server刪除主鍵約束與MySQL不同,需要主鍵的約束名稱才能刪除,SQL Server標準的刪除主鍵的腳本如下:

ALTER TABLE 表名DROP CONSTRAINT 約束名

當然該語句只能刪除已知約束名的主鍵約束。

刪除未知主鍵約束名的約束

根據之前的語句判斷,這個約束名如果之前已經指定了那還好,否則此次就沒有辦法刪除了,重點在于如何獲取表中的主鍵約束名,既然可以根據約束名,那么就說明約束名是存儲在數據庫中的,當然是存儲在系統表中的,運行下SELECT * FROM SYS.OBJECTS 語句看看查詢結果,數據庫中所有的約束都 在里面了,name項以PK大頭的都是主鍵約束,看看它的type_desc是不是PRIMARY_KEY_CONSTRAINT或者type是不是 PK?(當然指定的名稱沒使用PK前綴另當別論)。

既然已知表名,而且也知道主鍵約束存儲位置,關鍵就是二者如何關聯起來,使得使用表名就可以查詢到主鍵 約束名稱,這其中溝通的橋梁便是parent_object_id。

這里給出的只是object_id,那么又如何找出表的object_id呢?再仔細 看看剛才的搜索結果,原來數據庫中的相關信息全在里面,表,函數等都在里面,而且有自身的object_id。

接下來整合下上面的思路,根據表名查詢表ID,根據表ID找到主鍵約束名稱,采用級聯方式查詢就可以查詢出來。可以構造如下的查詢語句:

SELECT NAME from SYS.OBJECTS WHERE TYPE_DESC ='PRIMARY_KEY_CONSTRAINT' AND
PARENT_OBJECT_ID = (SELECT OBJECT_ID
FROM SYS.OBJECTS WITH(NOLOCK) WHERE NAME = '表名')

然后NAME就是我們需要的約束名稱了。然后在構造一個上面的刪除約束的SQL語句執行就可以了,典型的SQL如下:

ALTER TABLE 表名 DROP CONSTRAINT NAME(約束名)

其他約束都可以采用這種方法進行刪除。

以上這篇SQL Server中identity(自增)的用法詳解就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • Sql Server中清空所有數據表中的記錄
  • SQL server 自增ID--序號自動增加的字段操作
  • SQL Server正確刪除Windows認證用戶的方法
  • SQL Server重置IDENTITY屬性種子值操作

標簽:泰安 濟寧 廣東 武威 臺州 濟源 安徽 汕頭

巨人網絡通訊聲明:本文標題《SQL Server中identity(自增)的用法詳解》,本文關鍵詞  SQL,Server,中,identity,自增,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《SQL Server中identity(自增)的用法詳解》相關的同類信息!
  • 本頁收集關于SQL Server中identity(自增)的用法詳解的相關信息資訊供網民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    人人狠狠综合久久亚洲| 日韩av在线免费观看不卡| 尤物在线观看一区| 日本免费新一区视频| 不卡视频在线看| 久久综合一区二区| 亚洲一区二区成人在线观看| 国产精品 欧美精品| 欧美电影一区二区| 一区二区高清在线| 成人sese在线| 久久久久久久综合日本| 日韩福利电影在线观看| 色噜噜狠狠色综合欧洲selulu| 26uuu色噜噜精品一区二区| 亚洲成人777| 在线观看成人小视频| 中文字幕日韩av资源站| 高清视频一区二区| 久久女同互慰一区二区三区| 日本中文字幕一区二区视频| 欧美自拍偷拍一区| 伊人色综合久久天天人手人婷| 成人午夜在线播放| 国产精品视频在线看| 国模套图日韩精品一区二区 | 久久久噜噜噜久久人人看| 日韩不卡在线观看日韩不卡视频| 日本韩国一区二区三区视频| 中文字幕中文字幕中文字幕亚洲无线| 久久99久久久久久久久久久| 日韩一区二区在线看片| 日韩高清在线一区| 日韩欧美在线网站| 蜜臀av性久久久久蜜臀aⅴ四虎| 色综合久久综合网| 一区二区三区中文字幕精品精品| 99久久99久久免费精品蜜臀| 中文字幕中文在线不卡住| 成人av免费网站| 国产精品每日更新| 91理论电影在线观看| 亚洲欧美日韩国产另类专区| 色吧成人激情小说| 亚洲成人免费电影| 日韩精品在线一区| 国产成人综合视频| 一区二区中文视频| 欧美日韩国产高清一区二区三区 | 亚洲欧洲中文日韩久久av乱码| av中文字幕在线不卡| 日韩一区在线看| 欧美特级限制片免费在线观看| 午夜精品久久久久| 日韩一区二区麻豆国产| 狠狠色伊人亚洲综合成人| 久久久久国产一区二区三区四区 | 日韩欧美中文一区二区| 狠狠色丁香婷婷综合| 国产欧美日韩在线| 欧美中文一区二区三区| 蜜桃一区二区三区在线| 国产丝袜美腿一区二区三区| 91在线高清观看| 天堂va蜜桃一区二区三区漫画版| 日韩一级片在线观看| 成人教育av在线| 午夜欧美视频在线观看| 精品毛片乱码1区2区3区| eeuss鲁片一区二区三区在线看| 亚洲国产日韩a在线播放性色| 欧美成人国产一区二区| 色999日韩国产欧美一区二区| 日韩电影免费在线观看网站| 国产精品毛片高清在线完整版| 欧美在线免费播放| 国产成人精品一区二| 亚洲高清三级视频| 欧美国产日韩精品免费观看| 欧美日韩国产成人在线免费| 粗大黑人巨茎大战欧美成人| 亚洲444eee在线观看| 亚洲国产成人私人影院tom| 欧美视频一区在线| 成人黄色片在线观看| 日韩在线播放一区二区| 国产精品高潮呻吟| 久久综合九色综合欧美亚洲| 欧美性猛片aaaaaaa做受| 成人免费va视频| 久久国内精品自在自线400部| 亚洲乱码日产精品bd| 久久久久9999亚洲精品| 51久久夜色精品国产麻豆| 一本到不卡免费一区二区| 美女网站色91| 亚洲最大色网站| 18欧美亚洲精品| 国产欧美日韩另类一区| 欧美一区二区啪啪| 在线免费观看日韩欧美| 成人午夜视频在线观看| 国产999精品久久久久久绿帽| 免费高清在线一区| 日产国产欧美视频一区精品| 天涯成人国产亚洲精品一区av| 中文字幕亚洲区| 国产精品美女久久久久aⅴ国产馆| 2021国产精品久久精品| 精品久久一区二区三区| 日韩精品一区二区三区视频| 欧美一区二区成人6969| 制服.丝袜.亚洲.中文.综合| 91麻豆精品国产综合久久久久久| 欧美三级视频在线播放| 欧美日韩一区三区| 欧美日本免费一区二区三区| 欧美日韩亚洲国产综合| 欧美性猛交xxxxxxxx| 欧美日韩卡一卡二| 91精品国产综合久久久久久久 | 国产精品久久久久久福利一牛影视| 日韩西西人体444www| 日韩欧美国产成人一区二区| 日韩精品一区二区三区在线播放 | 国产精品久久久久国产精品日日| 国产精品污www在线观看| 国产精品伦理在线| 自拍偷在线精品自拍偷无码专区| 国产精品美女久久久久久久网站| 国产精品理伦片| 亚洲免费观看高清完整版在线 | 天天操天天综合网| 免费成人结看片| 国产麻豆视频一区| 99久久精品免费看国产| 欧美亚男人的天堂| 日韩欧美精品在线| 国产女同互慰高潮91漫画| 亚洲同性gay激情无套| 五月天国产精品| 九九视频精品免费| 成人av午夜电影| 欧美日韩国产一二三| 久久综合久久综合久久| 亚洲欧美一区二区视频| 亚洲.国产.中文慕字在线| 久久99精品国产91久久来源| av亚洲精华国产精华| 欧美人伦禁忌dvd放荡欲情| 日韩精品最新网址| 亚洲欧美在线aaa| 蜜桃视频在线一区| 色狠狠一区二区三区香蕉| 欧美一区二区三区影视| 国产精品日日摸夜夜摸av| 天天做天天摸天天爽国产一区| 国产麻豆日韩欧美久久| 在线亚洲高清视频| 日韩视频在线永久播放| 亚洲欧美日韩国产中文在线| 久久精品99国产国产精| 色屁屁一区二区| xnxx国产精品| 秋霞电影一区二区| 91免费小视频| 久久精品视频一区二区三区| 亚洲第一搞黄网站| 99在线精品观看| 欧美精品一区二区三区在线播放| 亚洲视频一区二区在线观看| 国产一区二区调教| 正在播放一区二区| 一区二区国产盗摄色噜噜| 成人网在线播放| 精品久久久久久最新网址| 亚洲va天堂va国产va久| 一本一道久久a久久精品| 国产午夜一区二区三区| 久久精品99国产精品| 欧美精品色一区二区三区| 一区二区三区日本| 99久久婷婷国产综合精品电影 | 日本成人中文字幕| 欧美在线综合视频| 欧美激情综合网| 国产精品亚洲午夜一区二区三区| 在线成人免费观看| 五月天一区二区| 欧美在线一二三四区| 亚洲人成在线播放网站岛国| www.成人在线| 亚洲欧洲在线观看av| 成人中文字幕电影| 国产视频一区二区在线| 国产精品一区二区三区四区| 久久久高清一区二区三区| 久久66热偷产精品| 欧美精品一区二区在线观看| 精品一二三四区|