国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > SQL Server > 正文

Sql Server2005

2019-11-03 08:35:36
字體:
來源:轉載
供稿:網友
--> Title  : 自增列重複與不連續

--> Author : wufeng4552

--> Date   : 2009-11-13 08:31:12



--自增列通常在以下幾種情況而導致不連續

if object_id('tb')is not null drop table tb

go

create table tb(ID int identity(0,1),name varchar(10)unique)

--1插入失敗自動回滾

insert tb([name]) select 'A'

insert tb([name]) select 'A'

/*

錯誤原因

訊息2627,層級14,狀態1,行4

違反UNIQUE KEY 條件約束'UQ__tb__6B79F03D'。無法在物件'dbo.tb' 中插入重複的索引鍵。

陳述式已經結束。

*/

insert tb([name]) select 'B'

select * from tb

-->查詢結果

/*

(1 個資料列受到影響)

ID          name

----------- ----------

0           A

2           B

(2 個資料列受到影響)

*/

if object_id('tb')is not null drop table tb

go

create table tb(ID int identity(0,1),name varchar(10)unique)

--2手動回滾

insert tb([name]) select 'B'

begin tran

insert tb([name]) select 'A'

rollback tran

insert tb([name]) select 'C'

select * from tb

-->查詢結果

/*

ID          name

----------- ----------

0           B

2           C

(2 個資料列受到影響)

*/

if object_id('tb')is not null drop table tb

go

create table tb(ID int identity(0,1),name varchar(10)unique)

--3重置種子

insert tb([name]) select 'B'

dbcc checkident(tb,reseed,2)

insert tb([name]) select 'C'

insert tb([name]) select 'D'

select * from tb

-->查詢結果

/*

ID          name

----------- ----------

0           B

3           C

4           D

(3 個資料列受到影響)*/

if object_id('tb')is not null drop table tb

go

create table tb(ID int identity(0,1),name varchar(10)unique)

--4刪除

insert tb([name]) select 'B'

insert tb([name]) select 'C'

delete tb where [name]='C'

insert tb([name]) select 'D'

select * from tb

-->查詢結果

/*

ID          name

----------- ----------

0           B

2           D

(2 個資料列受到影響)

*/



--自增列通常在以下幾種情況而導致重複

if object_id('tb')is not null drop table tb

go

create table tb(ID int identity(0,1),name varchar(10)unique)

--1手動插入

insert tb([name]) select 'B'

insert tb([name]) select 'C'

set identity_insert tb on

insert tb(id,[name]) select 1,'D'

set identity_insert tb off

select * from tb

-->查詢結果

/*

ID          name

----------- ----------

0           B

1           C

1           D

(3 個資料列受到影響)

*/

if object_id('tb')is not null drop table tb

go

create table tb(ID int identity(0,1),name varchar(10)unique)

--2種子重置

insert tb([name]) select 'B'

dbcc checkident(tb,reseed,-1)

insert tb([name]) select 'C'

select * from tb

-->查詢結果

/*

ID          name

----------- ----------

0           B

0           C



(2 個資料列受到影響)

*/
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 广德县| 苍溪县| 招远市| 夹江县| 海口市| 双鸭山市| 衡阳市| 武穴市| 汾阳市| 五常市| 绩溪县| 龙口市| 涿鹿县| 乌兰浩特市| 鹤峰县| 清远市| 神农架林区| 昭觉县| 吴堡县| 筠连县| 通江县| 永嘉县| 合江县| 南宁市| 鄂托克前旗| 海淀区| 泸州市| 建平县| 沂源县| 汝南县| 红桥区| 安泽县| 肥城市| 梅州市| 揭阳市| 宝清县| 龙陵县| 原阳县| 吉隆县| 平罗县| 偏关县|