国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

Mysql開發—— 事務

2024-07-24 12:59:40
字體:
來源:轉載
供稿:網友

MySQL事務

事務:事務指邏輯上的一組操作,組成這組操作的各個單元,要么全部成功,要么全部不成功。

mysql事務: a、mysql引擎是支持事務的 b、mysql默認自動提交事務。每條語句都處在單獨的事務中。 c、手動控制事務 開啟事務:start transaction | begin 提交事務:commit 回滾事務:rollback

mysql控制事務的方法:

示例代碼如下:

package com.atswu.mysql;import java.sql.SQLException;import com.mysql.jdbc.Connection;import com.mysql.jdbc.PReparedStatement;public class transaction { public static void main(String[] args) throws SQLException { Connection conn = null; PreparedStatement ptmt = null; try { conn = (Connection) DBUtils.getConnection(); //設置事務開始提交 conn.setAutoCommit(false); ptmt = (PreparedStatement) conn.prepareStatement("UPDATE users SET PASSWord ='456789' WHERE id = '1'"); ptmt.executeUpdate(); //事務結束之后進行事務提交 conn.commit(); } catch (Exception e) { if(conn!=null){ conn.close(); } e.printStackTrace(); } }}

事務的特性:

原子性:指事務是一個不可分割的工作單位,事務中的操作要么都發生,要么都不發生。 一致性:事務必須使數據庫從一個一致性狀態變換到另外一個一致性狀態。轉賬前和轉賬后的總金額不變。 隔離性:事務的隔離性是多個用戶并發訪問數據庫時,數據庫為每一個用戶開啟的事務,不能被其他事務的操作數據所干擾,多個并發事務之間要相互隔離。 持久性:指一個事務一旦被提交,它對數據庫中數據的改變就是永久性的,接下來即使數據庫發生故障也不應該對其有任何影響。

事務的隔離級別

贓讀:指一個事務讀取了另一個事務未提交的數據。

不可重復讀:在一個事務內讀取表中的某一行數據,多次讀取結果不同。一個事務讀取到了另一個事務提交后的數據。(update)

虛讀(幻讀):是指在一個事務內讀取到了別的事務插入的數據,導致前后讀取不一致。 (insert)

數據庫通過設置事務的隔離級別防止以上情況的發生: * 1、READ UNCOMMITTED: 贓讀、不可重復讀、虛讀都有可能發生。 * 2、READ COMMITTED: 避免贓讀。不可重復讀、虛讀都有可能發生。(Oracle默認的) * 4、REPEATABLE READ:避免贓讀、不可重復讀。虛讀有可能發生。(mysql默認) * 8、SERIALIZABLE: 避免贓讀、不可重復讀、虛讀。 級別越高,性能越低,數據越安全

mysql中: 查看當前的事務隔離級別:SELECT @@TX_ISOLATION; 更改當前的事務隔離級別:SET TRANSACTION ISOLATION LEVEL 四個級別之一。 設置隔離級別必須在事務之前


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 勃利县| 边坝县| 昌吉市| 铜山县| 淳化县| 清苑县| 宽甸| 句容市| 马山县| 囊谦县| 吉林省| 剑阁县| 肃南| 南木林县| 扬中市| 安龙县| 丰都县| 武清区| 门源| 光山县| 万载县| 工布江达县| 连城县| 绥棱县| 九龙县| 大冶市| 宁远县| 芒康县| 行唐县| 大化| 广汉市| 吐鲁番市| 罗源县| 新沂市| 杭州市| 三门峡市| 麻城市| 景东| 城市| 寻乌县| 南部县|