关于本站
“最难不过坚持”
本人承接扒站仿站,php网站维护,病毒查杀,网站编辑,网站改版,html制作
有需要网站维护,改版,病毒查杀,网站编辑,网站备案,html制作等相关的工作可以联系我。
本人有多年相关工作经验,也可提供免费咨询,交个朋友。
有需要探讨问题的朋友,也可以加我微信,共同探讨!
微信:15011482830 QQ:408917339
2655
39
分类目录
最新评论
- https://jueru.net/
-
- :weixiao:
-
- :shuijiao: :weiqu: :zhenbang: :leng:
-
- :yiwen: :yiwen: :yiwen: :yiwen:
-
- 这个业务逻辑多少都有点奇怪了,阅读浏览次数增值在新闻详情页的控制器方法里setInc,这怎么还写进模型事件里了。如果非要用onAfterRead也可以,把新闻文章的内容单独分出来一个news_content表,然后把它和news做关联,然后给news_content表的onAfterRead事件做增值处理,这样点进新闻页内查询到文章内容时才会触发它。
-
文章标签更多
打开边栏(ESC)
关闭边栏(ESC)
事务是什么东西
事务是一个整体,结果就俩种(成功,失败)要么全部成功(提交),要么全部失败(回滚),就算成功一部分也要(回滚)
什么时候要用到事务
举个例子:
1.把一条数据插入到俩张表的时候,就要用到事务了。
数据是 data 表示。
如果 data在插入第一张表的时候成功了,在插入第二张表的时候失败了,怎么办?
要么保证全部成功(提交),要么就回滚(一条也别成功)。才能保证数据的准确性。
原子性
一致性
隔离性
持续性
好处就是上面的4个特性
原子性:对数据进行操作的时候,要么全都执行,要么全都不执行。
一致性:和原子性是分不开的,事务执行成功,说明全部都执行了,那么就使数据库从一个一致性状态变到另一个一致性状了。
隔离性: 一个事务的执行不能被其他事务干扰
持续性: 事务一旦提交成功,那么数据库里的数据就会永久性的改变。
thinkphp5.1事务操作https://www.kancloud.cn/manual/thinkphp5_1/354035 使用事务处理的话,需要数据库引擎支持事务处理。比如 MySQL 的 MyISAM 不支持事务处理,需要使用 InnoDB 引擎。 要确保你的数据表引擎为InnoDB,并且开启XA事务支持。
如果数据库引擎是MyISAM的话,也用到事务
Db::startTrans();
try{
$rs = $this->allowField(true)->save($data);
if(false !== $rs){
myFun(1, $this->staffId,$data['staffImg']);
Db::commit();
}
}catch(\Exception $e){
Db::rollback();
}
虽说数据会添加成功,但是事务其实是没起作用的,
假如自定义myFun函数操作出什么问题,职员表staffs依然可以插入数据,而使用事务的目的是如果myFun函数出什么问题,职员表staffs就不插入数据了。当myFun函数没问题,然后执行了Db::rollback();之后,职员表staffs再出现数据,才是正确的。
应该把表的数据库引擎由MyISAM改为InnoDB就可以了
赏
相关推荐
php实现ZIP压缩文件解压缩,中文乱码解决方法(重要)
直接上代码,具体代码里面都有注释。直接中文压缩文件解压到中文文件夹。
<?php
// 需开启配置 php_zip.dll
// phpinfo();
header("Content-type:text/html;charset=utf-8");
/*
* $filename 被解压文件名
* $path 解压...
openssl_private_decrypt解密失败
复制别人的解密程序,原程序可以解密,复制过来就不可以
一步步尝试发现,秘钥换行符有区别,
原秘钥有换行符,复制过来不知道什么时候把换行符清空了,成了一行字符串了。
评论加载中...