egg框架搭建,以及egg-mysql包的引入,繁瑣的操作跟著官方文件走就好了
try catch (err)
這裡有個bug,雖然從官方複製來**,但執行時候,不論是否有commit或者rollback,事務操作都會執行,就好像他娘的這一坨**不存在一樣,這是因為mysql預設的儲存引擎是myisam,myisam儲存引擎不支援事務處理,需要把引擎修改為innodb
順便提一嘴,innodb引擎支援回滾操作,所以效能上會有一點消耗,儲存,讀取速度不如myisam
更改引擎方式如下:
sql語句:show engines //檢視當前資料庫支援的引擎
sql語句:show table status from 『資料庫名』 where name='表名'; //檢視表使用的儲存引擎
sql語句:alter table table_name engine=innodb; // 修改表的儲存引擎
引擎修改後,如果還是不支援回滾,可以檢視下autocommit 是不是開啟了,
sql語句:show variables like 'autocommit' // 檢視是否開啟啟動提交
sql語句:set
autocommit = 0 // 關閉自動提交
僅供參考,一般egg-mysql開啟事務的時候,自動提交會被關閉
mysql回滾命令 關於MySQL回滾機制
在事務中,每個正確的原子操作都會被順序執行,直到遇到錯誤的原子操作,此時事務會將之前的操作進行回滾。回滾的意思是如果之前是插入操作,那麼會執行刪 除插入的記錄,如果之前是update操作,也會執行update操作將之前的記錄還原 因此,正確的原子操作是真正被執行過的。是物理執行。在當前事務中確實能看...
Git 回滾操作
git revert是用一次新的commit來回滾之前的commit,git reset是直接刪除指定的commit git log 查詢回滾版本唯一commit標識 git reset hard head 3 會將最新的3次提交全部重置,就像沒有提交過一樣。mixed git reset 會保留原...
Ambari NameNode HA 回滾操作
目錄 一 問題引出 1.角色檢視 二 解決步驟 1.清理額外的namenode 2.恢復secondary namenode 3.namenodeha 啟動 啟用hdfs ha過程中,被人為的中斷或意外的中斷導致secondary namenone還沒有被刪除。我是 namenode 啟動花了 15...