美文网首页
TP事务处理

TP事务处理

作者: 雨黎_95c0 | 来源:发表于2017-11-12 10:04 被阅读0次

1.框架thinkphp  支持事务代码

public function testrollback(){

$model1 = D('item');

$model2 = D('vote');

$model1->startTrans();

$res1 = $model1->where('id = 5')->delete();

$res2 = $model2->where('id = 2')->delete();

dump($res1);

dump($res2);

if($res1 && $res2){

$model1->commit();  //只有$res1 和  $res2  都执行成功是才真正执行上面的数据库操作

dump("commit");

}else{

$model1->rollback();  //  条件不满足,回滚

dump("rollback");

}

dump("over");

exit;

}

只支持数据库和数据表都是 innoDB  的情况

public function rollbackoriginal1(){

$conn = mysql_connect('127.0.0.1','summerzi','summerzi') or die('DB connection failed!');

mysql_select_db('summer',$conn);

mysql_query('set names "GBK"');

mysql_query('BEGIN');

$sql1 = "INSERT INTO `summer_userdata`(`uid`,`type`,`target_id`) VALUES(41,1,233);";

$sql2 = "INSERT INTO `summer_userdata`(`uid`,`type`,`target_id`) VALUES(fdfd,2,235);";

$res1 = mysql_query($sql1);

$res2  = mysql_query($sql2);

dump($sql1);

dump($sql2);

dump($res1);

dump($res2);

if($res1 && $res2){

mysql_query('COMMIT');

dump('commit success!');

}else{

mysql_query('ROLLBACK');

dump('commit failed, rollback!');

}

mysql_query('END');

}

对于不支持事务的MyISAM引擎数据库可以使用表锁定的方法

public function rollbackoriginal2(){

$conn = mysql_connect('127.0.0.1','summerzi','summerzi') or die('DB connection failed!');

mysql_select_db('summer',$conn);

mysql_query('set names "GBK"');

mysql_query('SET AUTOCOMMIT=0');////设置mysql不自动提交,需自行用commit语句提交

$sql1 = "INSERT INTO `summer_userdata`(`uid`,`type`,`target_id`) VALUES(41,1,233);";

$sql2 = "INSERT INTO `summer_userdata`(`uid`,`type`,`target_id`) VALUES(44,2,235);";

//mysql_query("LOCK TABLES `hmbl_userdata` WRITE");//锁定表

$res1 = mysql_query($sql1);

$res2  = mysql_query($sql2);

dump($sql1);

dump($sql2);

dump($res1);

dump($res2);

//mysql_query("UNLOCK TABLES");//解除锁定

if($res1 && $res2){

mysql_query('COMMIT');

dump('commit success!');

}else{

mysql_query('ROLLBACK');

dump('commit failed, rollback!');

}

mysql_query("SET AUTOCOMMIT=1");

mysql_query('END');

}

原文地址:https://www.cnblogs.com/summerzi/archive/2015/04/05/4393790.html

相关文章

  • TP事务处理

    1.框架thinkphp 支持事务代码 public function testrollback(){ $mode...

  • AUC

    P N Y TP FP N FN TN TPR = TP/(TP+FN) = TP/P ...

  • spring aop

    1、Spring中事务处理的作用: Spring事务处理,是将事务处理的工作统一起来,并为事务处理提供通用的支持。...

  • 准确率(precision)、召回率(recall)和精准率(a

    Precision = TP/(TP+FP),表示我们抓到的人中,抓对了的比例; Recall = TP/ (TP...

  • 关于 tp5 事务操作总结

    前提: 使用事务处理的话,需要数据库引擎支持事务处理。比如 MySQL 的 MyISAM 不支持事务处理,需要使用...

  • MySql___(7) MySQL 必知必会

    第26章 管理事务处理 26.1 事务处理 并非所有引擎都支持事务处理正如第21章所述,MySQL支持几种基本...

  • tp6进行事务操作

    使用事务处理的话,需要数据库引擎支持事务处理。比如 MySQL 的 MyISAM 不支持事务处理,需要使用 Inn...

  • 评估指标与评分

    一、二分类指标 1、混淆矩阵 精度 (TP+TN)/(TP+TN+FP+FN) 准确率 (TP)/(TP+FP) ...

  • OLAP和OLTP

    联机事务处理(OLTP)(on-line transaction processing)主要执行基本日常的事务处理...

  • SpringBoot(4)

    四 今日目标 事务处理 概念介绍 什么是事务处理? 事务处理就是要保持数据库的安全性。 事务要么完全地执行,要么完...

网友评论

      本文标题:TP事务处理

      本文链接:https://www.haomeiwen.com/subject/itrnmxtx.html