1. 程式人生 > 資訊 >開源鴻蒙 OpenHarmony 技術指導委員會成員公佈,華為軟體領域首席科學家當選 TSC 主席

開源鴻蒙 OpenHarmony 技術指導委員會成員公佈,華為軟體領域首席科學家當選 TSC 主席

ACID

  A:原子性

  C:一致性

  I:隔離性

  D:永續性

原子性(atomicity)

  一個事務是一個不可分割的工作單位,事務中包括的諸操作要麼都做,要麼都不做。

一致性(consistency)

  事務必須是使資料庫從一個一致性狀態變到另一個一致性狀態。一致性與原子性是密切相關的。

隔離性(isolation)

  一個事務的執行不能被其他事務干擾。即一個事務內部的操作及使用的資料對併發的其他事務是隔離的,併發執行的各個事務之間不能互相干擾。

永續性(durability)

  永續性也稱永久性(permanence),指一個事務一旦提交,它對資料庫中資料的改變就應該是永久性的。接下來的其他操作或故障不應該對其有任何影響

事務相關操作

  start transcation; # 開啟事務

  rollback # 回滾到操作之前的狀態

  commit # 確認事務操作 之後不能回滾

# 先介紹事務的三個關鍵字 再去用表實際展示效果

create table user(
id int primary key auto_increment,
name char(32),
balance int
);

insert into user(name,balance)
values
('jason',1000),
('egon',1000),
('tank',1000);

# 修改資料之前先開啟事務操作
start transaction
; # 修改操作 update user set balance=900 where name='jason'; #買支付100元 update user set balance=1010 where name='egon'; #中介拿走10元 update user set balance=1090 where name='tank'; #賣家拿到90元 # 回滾到上一個狀態 rollback; # 開啟事務之後,只要沒有執行commit操作,資料其實都沒有真正重新整理到硬碟 commit; """開啟事務檢測操作是否完整,不完整主動回滾到上一個狀態,如果完整就應該執行commit操作""" # 站在python程式碼的角度,應該實現的虛擬碼邏輯, try:
update user set balance=900 where name='jason'; #買支付100元 update user set balance=1010 where name='egon'; #中介拿走10元 update user set balance=1090 where name='tank'; #賣家拿到90元 except 異常: rollback; else: commit;