mysql 事务 视图 存储过程 触发器
一 ,mysql事务
MYSQL中只有INNODB类型的数据表才能支持事务处理。
启动事务有两种方法
(1) 用begin,rollback,commit来实现
begin 开始一个事务
rollback 事务回滚
commit 事务确认
(2)直接用set来改变mysql的自动提交模式
set autocommit=0 禁止自动提交
set autocommit=1 开启自动提交
demo
header("Content-type:text/html;charset=utf-8"); mysql_pconnect("localhost","root","") or die("数据库连接失败"); mysql_select_db("test"); mysql_query("set names utf8"); //开启一个事务 //mysql_query("BEGIN"); //mysql_query("START TRANSACTION"); //mysql_query("SET AUTOCOMMIT=1");//设置事务不自动提交 mysql默认是自动提交 mysql_query("SET AUTOCOMMIT=1");//开启事务 $sql1 = "INSERT INTO `test`values ('2222','测试数据')"; $sql2 = "INSERT INTO `test` values ('111','sss','22')";//特地写的错误 $res1 = mysql_query($sql1); $res2 = mysql_query($sql2); if($res1 && $res2) { mysql_query("COMMIT"); echo "事务提交"; }else{ mysql_query("ROLLBACK"); echo "事务回滚"; } mysql_query("END");