众所周知,SQL语言是一种操作数据库的非过程化语言,无疑它的功能是很强大的。比如一个小小的select语法结构就可以查询到我们想要的任何数据,多么简洁方便。
然而业务是复杂的,一条SQL并不能满足我们的需求,往往一个业务的执行需要多条SQL语句的配合使用来完成。一个写操作会改变数据库的数据,多个写操作如果不能保证都成功那么数据必然不是完整的。
为了保证数据的完整性就必须保证多条SQL语句的执行要么都成功要么都不成功,因此引出数据库事务机制。事务能够保证我们在解决复杂业务时,某一步出错不会造成数据的丢失或者增加。