1. 程式人生 > >mysql 事物的4大特性(ACID)+事物的開啟與關閉

mysql 事物的4大特性(ACID)+事物的開啟與關閉

原子性: 即整個事物是一個整體,要麼這個事物全部執行成功,要麼全部失敗

一致性: 即事物執行狀態結果 與 原資料形成統一。例如轉賬,總金額是不變的

隔離性: 在併發事物中,隔離開不能互相影響,但是也不能完全隔離,會降低效率

永續性:如果執行成功,資料庫崩潰,如果重新啟動,資料庫已經執行完的狀態不會變

 我認為 這4個特性是互相關聯的

 只有原子性 確保 一致性 才能確保 。隔離性是為了避免降低效率與互相感染影響,永續性確保資料庫非正常工作後的成功

mysql 提供開啟事物與關閉事物

    開啟事物: start transaction

    關閉事物:commit---成功 與 rollback--失敗;

create table  money(name varchar(20), qian int(20));

insert into money(name,qian) values('zs',1000);

insert into money(name,qian) values('ls',1000);

用update tableName set qian where name=''; 自己玩幾遍

結論:

         事物需要程式碼完美實現,如果事物沒有完就提交 會造成資料庫資料錯誤,這個得注意

    我以為資料庫會自動判斷資料是否一致,發現並不是。需要人工自己來寫程式碼保持一致性。