什麼是數據庫事務?

  • 什麼是事務?
    事務是由一個或多個sql語句組成的一個整體,如果所有語句執行成功那麼修改將會全部生效,如果一條sql語句將銷量+1,下一條再+1,倘若第二條失敗,那麼銷量將撤銷第一條sql語句的+1操作,只有在該事務中所有的語句都執行成功纔會將修改加入數據庫中。
  • 事務的特性:
    原子性
    原子性是指事務所有操作要麼全部成功,要不全部失敗回滾,因此事務的操作如果成功就必須全部完全應用刀數據庫,如果操作失敗這不餓能對數據庫有任何的影響。
    一致性
    一致性是指事務必須使數據庫從一個一致性的狀態變換到另一個一致性狀態,也就是說一個事務執行之前客執行之後必須處於一致性狀態
    拿轉賬來說,假設用戶A和用戶B兩者的前加起來一共是5000,那麼不管A和B之間怎麼轉賬兩個用戶的錢相加起來來應該還的是5000,這就是事務的一致性。
    隔離性
    隔離性是當多個用戶併發訪問數據庫時,比如操作同一張表的時候,數據庫爲每一個用戶開啓事務,不會被其他操作所幹擾
    ,併發事務之間要相互隔離。
    持久性
    持久性是指一個事務一旦被提交了,那麼對數據庫中的數據的改變就是永久性的。
    Mysql中支持事務的引擎
    在mysql中用的最多 的存儲引擎有:INNODB , BDB ,MYISAM, MEMORY,
    其中 INNODB ,BDB 支持事務,其他的不支持事務。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章