两张表 A,B
1.向A表插入数据时 先判断此条数据是否存在(根据username),不存在则插入
2.A表与B表关联 a.id=b.userid,判断A表插入的数据的id是否在B表中有对应的userid,如果有修改A表的id序列加1再去判断在B表中有对应的userid存在,直到没有对应的userid存在时就把A表的id存入B表因为要同时操作 如何能写成一条语句
1.向A表插入数据时 先判断此条数据是否存在(根据username),不存在则插入
2.A表与B表关联 a.id=b.userid,判断A表插入的数据的id是否在B表中有对应的userid,如果有修改A表的id序列加1再去判断在B表中有对应的userid存在,直到没有对应的userid存在时就把A表的id存入B表因为要同时操作 如何能写成一条语句
insert into A
select 对应A的列1,对应A的列2,...,对应A的列n from 数据源 b where not exists
(select * from a where a.username = 对应A的列n)
第二个貌似有并发问题,一但系统高并发起见,会有脏数据产生。而且第一个和第二个功能向左,不能写在一个SQL里面。
第一个可以用merge into实现