当你在数据库插入大量语句后,突然其中一句报错,rollback大量数据的效率极低,如何解决?
一:我们在这里提出一个事务“保存点”的概念
那什么是保存点?粗略来讲相当于Java中的“断点”,设置一个断点,当你在数据库中插入一条数据后,在这条语句后面设置一个savepoint,当你需要rollback的时候,只需要回滚到这个savepoint点时就可以,这样就节省了大量的时间,提高的工作效率,也不需要消耗过多的数据库的资源。
二:代码演示
我的数据库表有cid cname pid三个属性,用sql语句插入
- 首先开启事务
START TRANSACTION;
INSERT into city VALUES(NULL,"武汉市","7")