首页后端开发PHPPHP中事务删除用什么语句,相关知识有哪些

PHP中事务删除用什么语句,相关知识有哪些

时间2024-03-22 08:52:03发布访客分类PHP浏览584
导读:在这篇文章中我们会学习到关于“PHP中事务删除用什么语句,相关知识有哪些”的知识,小编觉得挺不错的,现在分享给大家,也给大家做个参考,希望对大家学习或工作能有帮助。下面就请大家跟着小编的思路一起来学习一下吧。...
在这篇文章中我们会学习到关于“PHP中事务删除用什么语句,相关知识有哪些”的知识,小编觉得挺不错的,现在分享给大家,也给大家做个参考,希望对大家学习或工作能有帮助。下面就请大家跟着小编的思路一起来学习一下吧。

php事务删除的操作方法:1、利用“autocommit(false)”方法,关闭数据库自动提交;2、当操作语句全部成功后,通过“commit()”提交到数据库,如果操作失败,则用“rollback()”方法回退删除即可。

本教程操作环境:Windows7系统、PHP8.1版、Dell G3电脑。

php事务删除怎么实现?

php 事务处理transaction

MySQL 事务主要用于处理操作量大,复杂度高的数据。比如说,在人员管理系统中,你删除一个人员,你即需要删除人员的基本资料,也要删除和该人员相关的信息,如信箱,文章等等,这样,这些数据库操作语句就构成一个事务!

在MySQL中只有使用了Innodb数据库引擎的数据库或表才支持事务

事务处理可以用来维护数据库的完整性,保证成批的SQL语句要么全部执行,要么全部不执行

事务用来管理insert,update,delete语句

一般来说,事务是必须满足4个条件(ACID): Atomicity(原子性)、Consistency(稳定性)、Isolation(隔离性)、Durability(持久性)

1、事务的原子性:一组事务,要么成功;要么撤回。

2、稳定性 : 有非法数据(外键约束之类),事务撤回。

3、隔离性:事务独立运行。一个事务处理后的结果,影响了其他事务,那么其他事务会撤回。事务的100%隔离,需要牺牲速度。

4、持久性:一个事务一旦被提交,它对数据库中数据的改变就是永久的,接下来即使数据库发生故障也不应该对其有任何影响。

执行下面的程序

$mysqli = new mysqli('localhost','root','mayi1991','mysqldemo');
    
if($mysqli->
connect_error){
    
    die('数据库连接错误'.$mysqli->
    connect_error);

}
    
$sql1 = "update account set balance = balance - 2 where id = 1";
    
//这里故意写错指令中的balance1属性
$sql2 = "update account set balance1 = balance + 2 where id = 2";
            
$result1 = $mysqli->
    query($sql1);
    
$result2 = $mysqli->
    query($sql2);

if(!$result1 || !$result2){
    
    die('操作错误'.$mysqli->
    error);

}
else{
    
    die('操作成功');

}
    
$mysqli->
    close();
    
登录后复制

虽然上面的代码有报错,但是在数据库中,id=1的balance已经改变;这样就会出现问题;

我们要的同时改变,如果有一个出错,就不改变;这个时候,我们就需要“事务控制”来保证“一致性”;

我们需要用到的方法autocommit() commit(); 看下面的代码

$mysqli = new mysqli('localhost','root','mayi1991','mysqldemo');
    
if($mysqli->
connect_error){
    
    die('数据库连接错误'.$mysqli->
    connect_error);

}
    
//关闭数据库自动提交
$mysqli->
    autocommit(false);
    
$sql1 = "update account set balance = balance - 2 where id = 1";
    
//这里故意写错属性balance1
$sql2 = "update account set balance1 = balance + 2 where id = 2";
    
$result1 = $mysqli->
    query($sql1);
    
$result2 = $mysqli->
    query($sql2);

if(!$result1 || !$result2){
    
    die('操作错误'.$mysqli->
    error);
    
    $mysqli->
    rollback();
    //事务回退
}
else{
    
    //操作全部正确后再提交
    $mysqli->
    commit();

}
    
$mysqli->
    close();
    
登录后复制

首先利用autocommit(false)方法,关闭数据库自动提交,然后当操作语句全部成功后,commit()提交到数据库;

如果操作失败,我们用rollback()方法回退。


现在大家对于PHP中事务删除用什么语句,相关知识有哪些的内容应该都清楚了吧,希望大家阅读完这篇文章能有所收获。最后,想要了解更多PHP中事务删除用什么语句,相关知识有哪些的知识,欢迎关注网络,网络将为大家推送更多相关知识的文章。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: PHP中事务删除用什么语句,相关知识有哪些
本文地址: https://pptw.com/jishu/650285.html
PHP实现三个求数组平均数的代码怎样写 数据库中创建数据表的SQL语句写法是怎样

游客 回复需填写必要信息