
保证程序的正确性,主键ID首先具有唯一性,设置自动增长在前台Insert的时候不需要传入ID的值,数据库自动根据最后一个ID值增加1 保证数据库主键不重复而且调用更为高效。
假如说没有设置自动增长 在insert一条记录的时候需要人为传递ID值。要保证唯一性必须要先获得上条记录的ID用select 然后再加一 然后在执行insert 从效率方面降低程序的灵活性。
个人见解。
通过sql语句实现,新增一个序列,假设为xx_seq,你的sql语句把那列直接写成xx_seqnextval就行了。
拿oracle为例,其它的数据库应该都差不多
新增序列例:
CREATE SEQUENCE student_seq
INCREMENT BY 1 -- 每次加几个
START WITH 1 -- 从1开始计数
NOMAXVALUE -- 不设置最大值
NOCYCLE -- 一直累加,不循环
CACHE 10;
假设你要插入的表student有两列,一列为id,一列为name。那么你的sql语句就可以写成insert into student values (student_seq nextval, ); 也就是说你用jdbcTemplate只需要设置name的值就行了,id是通过调用序列来插入的(即交给oracle解决)。
进入设计表界面
首先将该字段的数据类型选成数值型的,比如decimal或者bigint
然后在下面列的标识处,选择“是”
然后下面两行,标识种子:表示自动增长的起点是几,默认1
标识增量:表示每次自增的时候跨度是多少,默认每次自增1
进入设计表界面
首先将该字段的数据类型选成数值型的,比如decimal或者bigint
然后在下面列的标识处,选择“是”
然后下面两行,标识种子:表示自动增长的起点是几,默认1
标识增量:表示每次自增的时候跨度是多少,默认每次自增1
以上就是关于数据库设置主键的时候用,为什么设置自动增长全部的内容,包括:数据库设置主键的时候用,为什么设置自动增长、spring JdbcTemplate批量插入 怎么获得数据库自动增长的id、数据库表ID怎么设置自动增长等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)