sql自增列
⑴ sql里面如何插入自动增长序列号字段
CREATE SEQUENCE 序列号的名称 (最好是表名+序列号标记) INCREMENT BY 1 START WITH 1 MAXVALUE 99999 NOCYCLE NOCACHE;
其中最大的值按字段的长度来定,比如定义的自动增长的序列NUMBER(6) , 最大值为999999
INSERT 语句插入这个字段值为: 序列号的名称.NEXTVAL
例子: SQL insert into s_dept(id, name, region_id) values (s_dept_id.nextval, ‘finance’, 2);
1 row created.
⑵ 如何用sql创建自增列
SQL SERVER?
identity属性
create table tablename
(
id int identity,
c varchar(10)
)
id就是自增列。
已经创建的表无法直接把某字段设置为自增,只能把原来的字段删除,之后再添加具有自增属性的列。
步骤如下
--删除列
alter table a
drop column list
--添加具有identity属性的列
alter table a
add list int identity
⑶ 如何用sql语言创建自动增长的列
CREATE
TABLE
[表名]
(
[AUTOID]
[int]
IDENTITY
(1,
1)
NOT
NULL
,
[列名]
[varchar]
(50)
COLLATE
Chinese_PRC_CI_AS
NULL
)
ON
[PRIMARY]
GO
能看明白吗?[AUTOID]
[int]
IDENTITY
(1,
1)
NOT
NULL
就是自动增长的字段,自动加1.
⑷ sql server中如何实现自增字段
1、主键自增,以及建表的语句如下:
CREATE TABLEIF NOT EXISTS `t_email_notice` (
`id` INT (11) UNSIGNED NOT NULL AUTO_INCREMENT,`send_time` INT (16) NOT NULL DEFAULT '0',PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
其中 `id` INT (11) UNSIGNED NOT NULL AUTO_INCREMENT,这句话表示设置id字段字增,类型为int
2、varchar类型的主键,不会自增。但是你可以通过创建触发器的形式,来实现自增。代码如下:
CREATE TRIGGER `T` BEFORE INSERT ON `user`FOR EACH ROW begin
set new.id=concat('SH',lpad(((SELECT substring(id,3,4) from user where id=(select id from user order by id desc limit 1))+1),4,0));
end;
这段语句的意思是,当user表中新插入一条一条语句,会触发‘触发器T’将以’SH‘开头的id字段自增+1。
(4)sql自增列扩展阅读
sql语句建表规则如下:
create table ‘表名’ (‘字段1’ type1 [not null] [primary key] identity(起始值,递增量),‘字段2’type2 [not null], ...)--primary key为主键 identity表示递增数量。