基于mysql事务、视图、存储过程、触发器的应用分析
更新时间:2013年05月14日 16:30:07 作者:
本篇文章是对mysql事务、视图、存储过程、触发器的应用进行了详细的分析介绍,需要的朋友参考下
(福利推荐:【腾讯云】服务器最新限时优惠活动,云服务器1核2G仅99元/年、2核4G仅768元/3年,立即抢购>>>:9i0i.cn/qcloud)
(福利推荐:你还在原价购买阿里云服务器?现在阿里云0.8折限时抢购活动来啦!4核8G企业云服务器仅2998元/3年,立即抢购>>>:9i0i.cn/aliyun)
一 ,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");
相关文章
MySQL SELECT同时UPDATE同一张表问题发生及解决
例如用统计数据更新表的字段(此时需要用group子句返回统计值),从某一条记录的字段update另一条记录,而不必使用非标准的语句,等等感兴趣的朋友可以参考下哈2013-03-03com.mysql.jdbc.Driver 和 com.mysql.cj.jdbc.Driver&n
大家在连接mysql的时候,启动项目,会警告你推荐使用com.mysql.cj.jdbc.Driver?而不是com.mysql.jdbc.Driver,本文主要介绍了com.mysql.jdbc.Driver 和 com.mysql.cj.jdbc.Driver 的区别,具有一定的参考价值,感兴趣的可以了解一下2024-03-03
最新评论