事务意指一组原子性的的SQL操作,即保证一组 SQL 语句要么全部执行,要么全部不执行;
一个经典的案例银行转账: 小知转账100元给小识,操作步骤如下
银行查询小知账号金额大于等于100
银行从小知账号扣除100元
银行将小识账号金额增加100元
假设 有张金额表 money,对应SQL语句如下
begin;
select balance from money where username = ‘xiaozhi’ and balance > = ‘100’;
update money set balance = balance - 100 where username = ‘xiaozhi’;
update money set balance = balance + 100 where username = ‘xiaoshi’;
commit;
如上语句就是 一次原子性操作,begin 为开启事物, commit为提交事物;假设没有begin 和 commit ,在执行语句3的时候发生了断电,小知的账号金额扣除了100,但小识的金额却没有加上100,这就造成了数据的不一致,故事物在SQL中占有主导性地位,特别是关于金额类操作;学习事物必须满足4个条件(ACID), 原子性(Atomicity,或称不可分割性)、一致性(Consistency)、隔离性(Isolation,又称独立性)、持久性(Durability)。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




