個人覺得多個select時,不用放入一個事務,select查詢本身不需要事務提交。而如果在修改數(shù)據(jù)時,不提交事務,則會修改失敗。

創(chuàng)新互聯(lián)建站專注于企業(yè)營銷型網站、網站重做改版、南寧網站定制設計、自適應品牌網站建設、H5網站設計、商城建設、集團公司官網建設、外貿網站制作、高端網站制作、響應式網頁設計等建站業(yè)務,價格優(yōu)惠性價比高,為南寧等各大城市提供網站開發(fā)制作服務。
select只是用來進行查詢操作,不需要事務回滾,因為select不會對數(shù)據(jù)庫的產生持久化的修改,沒有必要在數(shù)據(jù)發(fā)生不一致的時候進行回滾。如果要防止數(shù)據(jù)的不一致情況,可以通過修改事務的隔離級別實現(xiàn)。
建一張test表
set autocommit=0;//設置mysql不自動提交就是不自動執(zhí)行sql語句
begin; //開啟一個事務
insert into test value(test);
insert into test value(test2);
commit;//提交 ,會執(zhí)行上面2句sql語句 此時test 表里面有 test 和 test2 2條數(shù)據(jù)
begin; //開啟一個事務
insert into test values(test3);
rollback; //回滾 , test表里面并沒有test3 這條數(shù)據(jù)
通常 在php里面會判斷 if(!mysql_query($sql)){mysql_query('rollback');} 就是如果沒有成功執(zhí)行sql就進行回滾,比如轉賬我給你10塊錢 先從我賬號里面減去10元 再從你賬戶加10元 這就是2條sql 要保證都能執(zhí)行完成
想用就用,不想用就不用唄。 事務使得要么兩個表都插入數(shù)據(jù),要么都不插入。 總之,還是第一句話,愛用不用。
SELECT,INSERT,UPDATE或DELETE都會開啟事務。
如果AUTOCOMMIT設置為1(默認值),每一個SQL語句都被認為是一個完整的事務。
AUTOCOMMIT設置為0時,在隨后的一系列語句的作用就像一個事務,直到一個明確的COMMIT語句結束。
分享名稱:mysql不用事務怎么寫 事務處理mysql
文章分享:http://chinadenli.net/article10/hehcgo.html
成都網站建設公司_創(chuàng)新互聯(lián),為您提供網站營銷、網站導航、微信公眾號、營銷型網站建設、網站設計、商城網站
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)