MySQL非主键设置自增

1设置为唯一索引
MySQL 每张表只能有1个自动增长字段,这个自动增长字段即可作为主键,也可以用作非主键使用,但是请注意将自动增长字段当做非主键使用时必须必须为其添加唯一索引,否则系统将会报错。例如:
– 将自动增长字段设置为主键
create table t1 (id int auto_increment Primary key,sid int);
– 将自动增长字段设置为非主键,注意必须显式添加Unique键
create table t2 (sid int primary key,id int auto_increment Unique);
将自动增长字段设置为非主键如果未添加唯一索引将会报错,如下面语句
create table t3 (sid int primary key,id int auto_increment);

2程序中实现逻辑递增
(1)查询需要递增的字段

  <select id="getSequence" resultType="java.lang.Integer">
    select
    code
    from cfg_web_site
    order by id desc limit 1
  </select>

(2)如果为空就设置初始值,否则+1

public int getSequence() {
        int sequence = baseMapper.getSequence();
        if (sequence == 0) {
            return 1;
        } else {
            return sequence + 1;
        }

    }

你可能感兴趣的:(mysql,mysql)