一、概念
事务定义了一组SQLite语句的边界。全部执行,或者完全不执行。反映了数据操作的原子性。
二、事务的使用
- BEGIN:开启一个事务
- COMMIT:提交一个事务
- ROLLBACK:事务执行失败,需要回滚
三、事务的冲突解决
冲突解决方案的语句:
INSERT OR [REPLACE|IGNORE|FAIL|ABORT|ROLLBACK] INTO table_name (columns) VALUES (value_list);
UPDATE OR [REPLACE|IGNORE|FAIL|ABORT|ROLLBACK] table_name SET (columns=values);
- REPLACE:违法唯一性时,记录删除,继续执行。违反非空是,使用默认值替代,没有默认值时abort。
- IGNORE:发生错误的语句不进行更改,命令继续执行。
- FAIL:终止继续执行,但是不回滚。
- ABORT:默认选项。恢复所有的命令并终止。
- ROLLBACK:回滚。
留言