$tr = Yii::$app->db->beginTransaction();
try{
//删除
$sq2 = "delete from wmcount where ID=28";
$r2=Yii::$app->db->createCommand($sq2)->execute();
$sq1 = "delete from wmcount where ID=250";
$r1=Yii::$app->db->createCommand($sq1)->execute();
//只有两条数据删除后事务才会成功
if($r2 && $r1){
$tr->commit();
}else{
$tr->rollBack();
}
}
catch (Exception $e) {
$tr->rollBack();
}
表结构sql语句
CREATE TABLE `wmcount` (
`ID` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '统计编号',
`addTime` datetime NOT NULL COMMENT '添加时间',
`articleCount` varchar(255) NOT NULL DEFAULT '0' COMMENT '文章量',
`recommendCount` int(11) NOT NULL DEFAULT '0' COMMENT '推荐量',
`readCount` int(11) NOT NULL DEFAULT '0' COMMENT '阅读量',
`commentCount` int(11) NOT NULL DEFAULT '0' COMMENT '评论量',
`forwardCount` int(11) NOT NULL DEFAULT '0' COMMENT '转发量',
PRIMARY KEY (`ID`)
) ENGINE=InnoDB AUTO_INCREMENT=47 DEFAULT CHARSET=utf8;
测试数据,没有写事务
$ID = rand(100,1000);
//可以入库
$sql = "insert into wmCount (articleCount,addTime) values ($ID,'2017-02-02')";
$r = Yii::$app->maindb->createCommand($sql)->execute();
//测试aa是不存在的
$sql = "insert into aa (articleCount,addTime) values ($ID,'2017-02-02')";
$r = Yii::$app->maindb->createCommand($sql)->execute();