事务:是一个操作序列,这些操作要么全部执行,要么都不执行。(仅仅用于数据的修改——增删改)
事务的四大特性(ACID):
原子性:不可再分割
一致性:每个步骤的状态都一致,要么都成功,要么都失败
隔离性:两个客户端对同一个信息进行修改,系统会对这个信息加锁(第一个客户端commit之前,其他客户端不会看到修改内容,也不可以对这个信息进行修改),等待第一个客户端commit后第二个客户端才可以修改。(无论start transaction有无开启事务)
持久性:一旦事务提交,则其所做的修改会永久保存到数据库。
事务的所有步骤都必须打包在一个事务中,任一个步骤失败,则必须回调所有步骤(回滚命令:rollback)
在mysql客户端,输入命令回车后,系统会自动commit,所以要用start transaction或begin来开启事务