最新下载
热门教程
- 1
 - 2
 - 3
 - 4
 - 5
 - 6
 - 7
 - 8
 - 9
 - 10
 
sql数据库主键自增长设置
时间:2022-06-29 08:04:24 编辑:袖梨 来源:一聚教程网
本文章来给大家总结现在常用的数据库主键自增长的设置方法,这里包括了:SQLServer、Oracle、MySQL 三种数据库了,有需要的朋友可进入参考。
主键自增长
MySQL的主键自增长只需将主键定义为AUTO_INCREMENT,如:
| 代码如下 | 复制代码 | 
| 
				 
					CREATE TABLE user  | 
		|
	
SQLServer的主键自增长也很简单,只需将主键定义为IDENTITY,如:
1.新建一数据表,里面有字段id,将id设为为主键
| 代码如下 | 复制代码 | 
| 
				 
					create table tb(id int,constraint pkid primary key (id))   | 
		|
2.新建一数据表,里面有字段id,将id设为主键且自动编号
| 代码如下 | 复制代码 | 
| 
				 
					create table tb(id int identity(1,1),constraint pkid primary key (id))   | 
		|
3.已经建好一数据表,里面有字段id,将id设为主键
| 代码如下 | 复制代码 | 
| 
				 
					alter table tb alter column id int not null   | 
		|
4.删除主键
| 代码如下 | 复制代码 | 
| 
				Declare @Pk varChar(100);  Select @Pk=Name from sysobjects where Parent_Obj=OBJECT_ID('tb') and xtype='PK'; if @Pk is not null exec('Alter table tb Drop '+ @Pk)  | 
		|
Oracle的主键自增长需要通过自定义的 SEQUENCE:
先创建用户表 user:
| 代码如下 | 复制代码 | 
| 
				 
					CREATE TABLE user  | 
		|
	
创建SEUQENCE:
| 代码如下 | 复制代码 | 
| 
				 CREATE SEQUENCE seq_user INCREMENT BY 1 START WITH 1 NOMAXVALUE NOCYCLE NOCACHE;  | 
		|
以上 sql 语句完成了一个序列(SEQUENCE)的建立过程,名称为seq_user,范围是从1开始到无限大(无限大的程度是由你机器决定的),
	INCREMENT BY 1,seq每次加1; 
START WITH 1,seq从1开始计数; 
NOMAXVALUE,seq不设置最大值; 
NOCYCLE,seq一直增加,不循环;如果你设置了最大值那么你可以用CYCLE,会使seq到最大之后循环; 
NOCACHE,不建缓冲区,如果你给出了CACHE值(如CACHE 10)那么系统将自动读取你的CACHE值大小个seq,这样在反复操作时会加快运行速度,但如果遭遇意外情况如宕机了或Oracle死了,则下次取出的seq值将和上次的不连贯。
要在 user 表中插入新记录,必须使用 nextval 函数(该函数从 seq_user 序列中取回下一个值),我这可以这样插入数据:
| 代码如下 | 复制代码 | 
| 
				 INSERT INTO user(id,name,password) VALUES(seq_user.nextval,'sunyzc','123');  | 
		|
上面的 sql 会在 user 表中插入一条新记录。id 的赋值是来自 seq_user 序列的下一个数字。
也可以通过创建 TRIGGER 来实现插入时主键自增长:
| 代码如下 | 复制代码 | 
| 
				 
					CREATE TRIGGER 触发器名称 BEFORE  | 
		|
	
然后这样直接插入数据:
| 代码如下 | 复制代码 | 
| 
				 INSERT INTO user(name,password) VALUES('sunyzc','123');  | 
		|
查看用户的所有序列(必须以管理员身份登录且用户名大写)
| 代码如下 | 复制代码 | 
| 
				 select * from dba_sequences where sequence_owner='用户名';  | 
		|
相关文章
- 二重螺旋炼火的典狱长通关攻略 11-04
 - 二重螺旋千面歌者的忧郁任务流程攻略 11-04
 - 二重螺旋金色魔灵获取途径 11-04
 - 明日方舟协律有什么技能及天赋 11-04
 - 三国望神州臧霸角色如何 11-04
 - 漫威秘法狂潮神奇先生怎么玩 11-04