1.若在Oracle中某个主键id用到了序列,并且此id在后续的使用中需要用到(如截取id长度),那么在迁移到mysql数据库时,由于MySQL中没有序列,可以如下解决:
<!-- select to_char(sysdate,'yyyymmddhhmiss')||FPKJID.nextval val from dual -->(在Oracle中的sql语句)
① select max(id) from fp_kj(在MySQL中的数据)
②修改控制层代码
SimpleDateFormat df = new SimpleDateFormat("yyyyMMddHHmmss");
String startid = df.format(new Date());
String id = fpkjService.getReceiptSeq();
if(id!=null && !"".equals(id)){
id = startid+String.valueOf(Integer.parseInt(id.substring(15))+1);
}else{
id = startid+"100000";
}
2.若在Oracle中某个主键id用到了序列,但在后续的程序中没有使用该id,那么在mysql中可以这样解决?
就是在建表的时候,直接在id的那个字段勾选自动增长,且字段类型为int类型