My sql事务机制

数据库通过事务和锁确保数据一致性和并发性。事务是不可分割的逻辑单元,具有原子性、一致性、隔离性和永久性四大特性。例如,在银行转账场景中,事务确保双方账户金额同步增减,防止出现数据不一致。在未使用事务的情况下,如存储过程执行失败,可能导致数据错误。启用事务后,可以避免此类问题,保证数据正确性。
摘要由CSDN通过智能技术生成
  • 数据库与文件系统的区别是,数据库实现了数据的一致性和并发性,而事务和锁机制是开启这一功能的基石。

事务

  • 通常包含一系列的更新操作,而这些操作是不可分割的逻辑单元。事务正常执行,这事务中包含的所有的更新操作均执行成功,否则全部执行失败。这个也被称为事务的原子性,

应用场景

  1. 银行转账业务,一个账户给另一个账户转账,一个账户的金额减少n,另一个账户的金额增多n,这两步操作要么同时成功,要么同时失败,不能存在一方成功一方失败的情况。
  2. 人力资源中中请有额度的假别,请一笔年假数据,年假的额度要减少n,请假数据要增加n,两步操作要同时成功或者失败。

等等。
事务的特性

  1. 原子性 事务中包含的操作要么全部执行成功,要么全部执行失败
  2. 一致性 一系列操作前后(insert,update,delete)前后,系统数据是一致的
  3. 隔离性 多并发的事务彼此之间是互不影响的
  4. 永久性 事务执行成功后,数据会稳定的存在文件中,不会随意变更。

未使用事务的程序


 #创建数据表
select * from account ;
create table account (
account_no int auto_increment primary key,
account_name char(10) not null ,
balance int unsigned ) engine=innodb;
#插入数据
insert into account values(nul
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值