1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > sequence解决oracle数据库主键不自增

sequence解决oracle数据库主键不自增

时间:2022-11-03 03:35:42

相关推荐

sequence解决oracle数据库主键不自增

工作这么多年。总算遇到一家数据库用oracle的企业了,由于oracle与mysql的不同,mysql设置了主键(id),那他就会实现自增,插入数据时,无需指定id的值,但是oracle却无法实现主键自增,解决方法:sequence(序列)

使用序列完成自增

(1)创建序列(此处的表名为MYBATIS)

create sequence MYBATISminvalue 1 --最小值nomaxvalue --不设置最大值start with 1 --从1开始计数increment by 1 --每次加1个nocycle --一直累加,不循环nocache; --不建缓冲区

(2)插入数据时指定id为序列

<insert id="insert", parameterType="List"><selectKey resultType="Long" order="BEFORE" keyProperty="id">select MYBATIS_sequence.nextval id from dual </selectKey>insert into tableName(id,.....) values (#{id},....); 或者insert into tableName(id,.....) values (MYBATIS_sequence.nextval,....); </insert>

这里面的MYBATIS是创建的序列表的表名

select MYBATIS_sequence.nextval id from dual 获取下一个值

select MYBATIS_sequencecurrval id from dual 获取当前值

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。