第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

Mysql 事務(wù)

標(biāo)簽:
MySQL

一个sql语句就是一个事务,事务可以保证一组sql语句要么都成功,要么都失败,默认自动提交,可以设置set autocommit=0关闭自动提交。

1.场景举例

比如有两个数据库1和2,分别代表2个人的存款,当其中一个人转钱给另一个人时,步骤一般是数据库1中扣除金额A,数据库2中增加金额A。假如在扣除数据库1中金额后立刻断电了,那么数据库2中还没来得及加金额,这就造成数据出问题,所以这里就需要将这一组操作都添加到事务当中。即要么扣款和增款都完成,要么都失败,从而保证了数据不会出错。

2.DTL

事务控制语言

(1)基本格式
start transaction;#事务开始...
中间是执行语句
...#rollback;#在事务没结束前如果出错可以通过这句回滚commit;#如果事务正常结束,则最后通过这句提交,否则数据不会真正的更新
(2)事务失败例子
mysql> start transaction;
mysql> update food set number=number-10 where id=1;
mysql> update food set number=number-15 where id=2;
mysql> update food set number=number-10 where id=100;#sql语句出错mysql> rollback;#回滚,会发现所有数据都回到第一句之前的样子

(3)事务成功例子

mysql> start transaction;
mysql> update food set number=number-10 where id=1;
mysql> update food set number=number-15 where id=2;
mysql> commit;#成功提交,数据修改完成,此时会发现数据已经真的更新了
(4)满足特性

(1)原子性:一个事务中的语句要么全做,要么全不做
(2)一致性:数据库的数据更改应该合理,即对应上面的转账例子(总钱数应该不变)
(3)隔离性:如果多个事务并发执行,但每个就像独立执行一样
(4)持久性:数据执行成功应该是明确的硬盘数据更改,而不仅是内存中的变化(通过commit提交实现)



作者:dawsonenjoy
链接:https://www.jianshu.com/p/5e7bb6b05e07


點(diǎn)擊查看更多內(nèi)容
TA 點(diǎn)贊

若覺(jué)得本文不錯(cuò),就分享一下吧!

評(píng)論

作者其他優(yōu)質(zhì)文章

正在加載中
  • 推薦
  • 評(píng)論
  • 收藏
  • 共同學(xué)習(xí),寫(xiě)下你的評(píng)論
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說(shuō)多少就多少
贊賞金額會(huì)直接到老師賬戶(hù)
支付方式
打開(kāi)微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊(cè)有機(jī)會(huì)得

100積分直接送

付費(fèi)專(zhuān)欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會(huì)
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

舉報(bào)

0/150
提交
取消