【Java】sql实现插入,插入值的主键自增,防止迁移数据时报主键冲突的错误;

一、问题

我们要自己造一些测试数据,并且这些SQL脚本要迁移到其他环境,迁移过程中,如果主键写死,在其他环境,可能会出现主键冲突;所以,我们要写活的主键,实现起来也很简单;

二、解决方法

insert into userInfo(id,name,age)values((select max(id)+1 from userInfo),'张辽',35);
insert into userInfo(id,name,age)values((select max(id)+1 from userInfo),'吕玲绮',25);
insert into userInfo(id,name,age)values((select max(id)+1 from userInfo),'陈宫',55);

这里,我们在主键位置,加了一个查询语句,获取当前表中最大的id,并且在此基础上+1;这样,我们再做数据迁移的时候,就不会主键冲突了;

三、注意

这里,insert插入语句中字段处的查询语句必须要用小括号扩起来,否则会报错ORA-00936缺失表达式;

你可能感兴趣的:(【基础】)