两种方式:
方式1:假设Bean的属性xxx为主键,则在getXxx() 前添加以下注解
@Id
@SequenceGenerator(name="名称A", sequenceName="库中已存在的sequence名称",allocationSize=递增值)
@GeneratedValue(strategy=GenerationTypeSEQUENCE, generator="名称A")
方式2:假设Bean的属性xxx为主键,则在getXxx() 前添加以下注解
@Id
@TableGenerator(name="名称A",allocationSize=递增值)//若不指定递增值,则生成的主键值不一定连续
@GeneratedValue(strategy=GenerationTypeTABLE, generator="名称A")
代码如下:
--创建测试表CREATE TABLE [Identity](
Id INT IDENTITY(1,2) NOT NULL PRIMARY KEY,--种子的起始值1,步长2
Number VARCHAR(20) UNIQUE NOT NULL,
Name VARCHAR(20) NOT NULL,
Password VARCHAR(20) DEFAULT(123),
Description VARCHAR(40) NULL
)
--插入记录
INSERT INTO [Identity](Number,Name,Description) VALUES('001','1st','Id=1,因为起始值1')
INSERT INTO [Identity](Number,Name,Description) VALUES('002','2nd','Id=3,因为起始值1,步长2')
INSERT INTO [Identity](Number,Name,Description) VALUES('003','3rd','Id=5,由于字符长度超长,报错插入失败,造成此Id产生后被放弃')
INSERT INTO [Identity](Number,Name,Description) VALUES('004','4th','Id=7 not 5,因为第三条记录插入失败')
--检索记录,查看结果
SELECT FROM [Identity]
CREATE TABLE dbPublishing
(
number char(4) not null --设置主键为字符型
constraint 约束1 primary key clustered --设置主键
check(number in('1234','2234','4234','5234','6234') --设置主键的而是约束
or number like '99[0-9][0-9]' ---主键的约束
or numuber like 'ab[0-9][0-9]'), --主键的约束
publishName varchar(27),
city char(20),
provinceName char(7),
country varchar(7)
)
你这是什么数据库?
SQL Server 的话,你可以把CID设为自增加1,这样就可以实现在插入的时候自动生成CID的值了;
如果是oracle,你可以在oracle数据库里建个sequense,通过
select sequensenext() from dual 得到自增的序列号;
在查询分析器中执行
sp_help 表名
就可以看到该表的各类信息,包括表的所有者,结构,主键等
祝你好运
如果你知道自动编号字段的名称,就简单了,比如说如果该字段名称为id
select max(id) from <表名>
找出来的就是最后那条记录的id号
select from <表名> where id in (select max(id) from <表名>)
就是你刚才新增的记录了
在创建表的时候可以设置,方法如下,用一下sql语句。
create table tableName(
id int identity(1,1) primary key,
data varchar(50))
解释:其中identity(1,1)代表自增,第一个1代表从1开始计数,第二个1代表每次增长1。
扩展资料:
SQL 全名是结构化查询语言[1](Structured Query Language),是用于数据库中的标准数据查询语言,IBM 公司最早使用在其开发的数据库系统中。1986年10月,美国国家标准学会(ANSI) 对 SQL 进行规范后,以此作为关系式数据库管理系统的标准语言 (ANSI X3 135-1986),1987年得到国际标准组织的支持下成为国际标准。不过各种通行的数据库系统在其实践过程中都对 SQL 规范作了某些编改和扩充。所以,实际上不同数据库系统之间的SQL不能完全相互通用。
参考资料:
百科-SQL语言
如何向数据库中插入一条记录,以及取得新插入记录的自动生成的主键
创建表格的时候将主键设定为IDENTITY:
CREATE TABLE Test
(
<a href=">
以上就是关于使用mybatis做持久层框架时,数据库的主键生成策略怎么维护全部的内容,包括:使用mybatis做持久层框架时,数据库的主键生成策略怎么维护、怎样用SQL向数据库中批量的插入数据,主键是随机生成的、请问用sql server 怎么自动生成主键等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)