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