欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

基于mysql事务、视图、存储过程、触发器的应用分析

程序员文章站 2024-02-23 10:26:28
一 ,mysql事务 mysql中只有innodb类型的数据表才能支持事务处理。 启动事务有两种方法 (1) 用begin,rollback,commit来实现复制代...

一 ,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");