被 try catch 包住的代码块,是不是就像mysql事物一样,要么全运行,要么全失败?
如果不是,怎样在php中实现类似事物的功能?
现在遇到一个情况:有三张表的字段不同,但是每条数据的ID必须完全一致。
向一张表里插入,就必须也在其他表中也插入相应的数据,保证每个ID一致。
但是如果在PHP运行的途中,发生意外的情况导致三张表没有都插入数据,后面的就全都乱了。。。
不是,是try中执行到某一行,失败,转到catch,之前的代码当然是有效的。所以你可以将事务和try...catch结合。
try
{
trasaction.begin()
...
transation.sumit();
}
catch
{
transation..rollback();
}
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。