jdbc 事务,两条insert语句之间的事务关系,该如何处理

jdbc 事务,两条insert语句之间的事务关系,该如何处理

jdbc 事务,两条insert语句之间的事务关系

环境:   mysql   ,window,j2se,spring

想实现这样的一个事务

1,保存一条记录a   到表A

2,保存一条记录b   到表B

他们处在一个事务中,但问题是a的主键id是b里的一个not-null,如果在同一个事务中,执行到2的时候,其实1在数据库中也没有保存,所以也没有id的值,那么这时在执行2的时候就会出现not-null的错误?

如何解决这个问题?



当然了,如果用事务也是可以的,不过就是要注意SQL语句的顺序了!例如:

a中的cola是主键,b中的colc是主键,同时b中的cola是外键,那么插入语句应该这么写:

start transaction;

insert into a(cola,colb) values( “test “, “hello “); — 第一步必须先执行

insert into b(colc,cola) values( “mysql “, “test “); — 第二步才执行这个

commit;




用触发器,或者存储过程

jdbc 事务,两条insert语句之间的事务关系,该如何处理

相关文章:

你感兴趣的文章:

标签云: