mysql怎么识别事务 mysql查看事物( 八 )


该 命令的语法是: SAVEPOINT 存储点名 如果在ROLLBACK语句中没有给出存储点名,则整个事务被回 退 。五 SYBASE数据库的事务定义 SYBASE通过使用BEGIN TRANsaction和MIT TRANsaction命令指 示SQL将任意数目的语句作为一个单元来处理 。
ROLLBACK TRANsaction 命令则允许用户恢复到事务的开始,或恢复到事务内部已经被用SAVE TRANsaction命令定义的存储点上 。BEGIN TRANsaction和MIT TRANsaction能够包含任意数目的SQL 语句和存储过程,方法很简单: BEGIN TRANsaction [事务名称] MIT TRANsaction 如果一个事务由于某些故障或者由于用户改变主意而必须在提交 前取消它,则数据库被恢复到这些语句和过程执行之前的状态 。
利用ROLLBACK TRANsaction命令可以在MIT TRANsaction命令 前随时回退一个事务 。可以回退整个事务,也可以回退部分事务,但 是不能回退一个已经被提交的事务 。
ROLLBACK TRANsaction命令为: ROLLBACK TRANsaction [事务名|存储点名] 存储点名是用户放入事务中的标记,用来表示一个可以被回退的 位置 。存储点名通过在事务中放入一个SAVE TRANsaction命令而 *** 入 。
该命令的句法是: SAVE TRANsaction 存储点名 如果在ROLLBACK TRANsaction中没有给出存储点名或事务名,则 事务被回退到批处理中的第一个BEGIN TRANsaction语句处 。
谈谈你对 mysql 事务的认识 我是php初学者不懂这个 想请教大神教我先简单介绍一下事务吧!事务是DBMS得执行单位 。它由有限得数据库操作序列组成得 。但不是任意得数据库操作序列都能成为事务 。一般来说mysql怎么识别事务,事务是必须满足4个条件(ACID)
原子性(Autmic):事务在执行性 , 要做到“要么不做,要么全做!”,就是说不允许事务部分得执行 。即使因为故障而使事务不能完成 , 在rollback时也要消除对数据库得影响!
一致性(Consistency):事务得操作应该使使数据库从一个一致状态转变倒另一个一致得状态!就拿网上购物来说吧 , 你只有即让商品出库 , 又让商品进入顾客得购物篮才能构成事务!
隔离性(Isolation):如果多个事务并发执行,应象各个事务独立执行一样!
持久性(Durability):一个成功执行得事务对数据库得作用是持久得,即使数据库应故障出错,也应该能够恢复!
MYSQL的事务处理主要有两种方法 。
1、用begin,rollback,commit来实现
begin
开始一个事务
rollback 事务回滚
commit事务确认
2、直接用set来改变mysql的自动提交模式
MYSQL默认是自动提交的,也就是你提交一个QUERY,它就直接执行!mysql怎么识别事务我们可以通过
set autocommit=0
禁止自动提交
set autocommit=1 开启自动提交
来实现事务的处理 。
但注意当你用 set
autocommit=0
的时候,你以后所有的SQL都将做为事务处理,直到你用commit确认或rollback结束,注意当你结束这个事务的同时也开启了个新的事务!按第一种方法只将当前的作为一个事务!
个人推荐使用第一种方法!
MYSQL中只有INNODB和BDB类型的数据表才能支持事务处理!其他的类型是不支持的?。ㄇ屑牵 。?
下次有空说下MYSQL的数据表的锁定和解锁!
MYSQL5.0 WINXP下测试通过~^_^
mysql use test;
Database
changed
mysql CREATE TABLE `dbtest`(
- id int(4)
- ) TYPE=INNODB;
Query OK, 0 rows affected, 1 warning (0.05
sec)
mysql select * from dbtest
- ;
Empty set (0.01
sec)
mysql begin;
Query OK, 0 rows affected (0.00
sec)
mysql insert into dbtest value(5);
Query OK, 1 row affected

推荐阅读