mysql事务处理

mysql事务处理

ID:40561898

大小:29.50 KB

页数:6页

时间:2019-08-04

mysql事务处理_第1页
mysql事务处理_第2页
mysql事务处理_第3页
mysql事务处理_第4页
mysql事务处理_第5页
资源描述:

《mysql事务处理》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、MYSQL的事务处理功能事务处理在各种管理系统中都有着广泛的应用,比如人员管理系统,很多同步数据库操作大都需要用到事务处理。比如说,在人员管理系统中,你删除一个人员,你即需要删除人员的基本资料,也要删除和该人员相关的信息,如信箱,文章等等,这样,这些数据库操作语句就构成一个事务!删除的SQL语句deletefromuserinfowhere~~~deletefrommailwhere~~deletefromarticlewhere~~~~如果没有事务处理,在你删除的过程中,假设出错了,只执行了第一句,那么其后果是难以想象的!但用事

2、务处理。如果删除出错,你只要rollback就可以取消删除操作(其实是只要你没有commit你就没有确实的执行该删除操作)一般来说,在商务级的应用中,都必须考虑事务处理的!查看inodb信息shell>/usr/local/mysql-uroot-pmysql>showvariableslike"have_%"系统会提示:+------------------+-------+

3、Variable_name

4、Value

5、+------------------+-------+

6、have_bdb

7、YES

8、

9、have_crypt

10、YES

11、

12、

13、have_innodb

14、YES

15、

16、have_isam

17、YES

18、

19、have_raid

20、YES

21、

22、have_symlink

23、YES

24、

25、have_openssl

26、NO

27、

28、have_query_cache

29、YES

30、+------------------+-------+8rowsinset(0.05sec)如果是这样的,那么我们就可以创建一张支持事务处理的表来试试了。MYSQL的事务处理功能!作者:FeifengxlqEmail:feifengxlq@sohu.com一直以来我都以为MYSQL不支持事务处理,所以在处理多个数据表的数据

31、时,一直都很麻烦(我是不得不将其写入文本文件,在系统重新加载得时候才写入数据库以防出错)~今天发现MYSQL数据库从4.1就开始支持事务功能,据说5.0将引入存储过程^_^先简单介绍一下事务吧!事务是DBMS得执行单位。它由有限得数据库操作序列组成得。但不是任意得数据库操作序列都能成为事务。一般来说,事务是必须满足4个条件(ACID)原子性(Autmic):事务在执行性,要做到“要么不做,要么全做!”,就是说不允许事务部分得执行。即使因为故障而使事务不能完成,在rollback时也要消除对数据库得影响!一致性(Consistenc

32、y):事务得操作应该使使数据库从一个一致状态转变倒另一个一致得状态!就拿网上购物来说吧,你只有即让商品出库,又让商品进入顾客得购物篮才能构成事务!隔离性(Isolation):如果多个事务并发执行,应象各个事务独立执行一样!持久性(Durability):一个成功执行得事务对数据库得作用是持久得,即使数据库应故障出错,也应该能够恢复!MYSQL的事务处理主要有两种方法。1、用begin,rollback,commit来实现begin开始一个事务rollback事务回滚commit事务确认2、直接用set来改变mysql的自动提交模

33、式MYSQL默认是自动提交的,也就是你提交一个QUERY,它就直接执行!我们可以通过setautocommit=0禁止自动提交setautocommit=1开启自动提交来实现事务的处理。但注意当你用setautocommit=0的时候,你以后所有的SQL都将做为事务处理,直到你用commit确认或rollback结束,注意当你结束这个事务的同时也开启了个新的事务!按第一种方法只将当前的作为一个事务!个人推荐使用第一种方法!MYSQL中只有INNODB和BDB类型的数据表才能支持事务处理!其他的类型是不支持的!(切记!)下次有空说下

34、MYSQL的数据表的锁定和解锁!MYSQL5.0WINXP下测试通过~^_^mysql>usetest;Databasechangedmysql>CREATETABLE`dbtest`(->idint(4)->)TYPE=INNODB;QueryOK,0rowsaffected,1warning(0.05sec)mysql>select*fromdbtest->;Emptyset(0.01sec)mysql>begin;QueryOK,0rowsaffected(0.00sec)mysql>insertintodbtestvalu

35、e(5);QueryOK,1rowaffected(0.00sec)mysql>insertintodbtestvalue(6);QueryOK,1rowaffected(0.00sec)mysql>commit;QueryOK,0rowsaffe

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。