Mysql中事务的使用【mysql】

原创
2019/06/25 17:50
阅读数 165

一,概述


1,作用
主要用户操作处理量大,复杂度高的数据。要保证sql语句,要么全执行,要么全不执行,但它必须要满足四个条件:原子性,一致性,隔离性,持久性。
2,方法
事务有两种处理方法
【用 BEGIN, ROLLBACK, COMMIT来实现】
BEGIN 开始一个事务
ROLLBACK 事务回滚
COMMIT 事务确认
【直接用 SET 来改变 MySQL 的自动提交模式】
SET AUTOCOMMIT=0 禁止自动提交
SET AUTOCOMMIT=1 开启自动提交

二,代码


1,shell中对mysql的使用

BEGIN ;
insert into user_test value(5);
insert into user_test value(6);
commit;

//首先开始事务,相关的sql语句,然后提交事务执行。这种方式要比单独两条插入耗时。
2,php中对mysql的使用

<?php 
$dbhost = 'localhost:3306';
$dbuser = 'root';
$dbpass = '123456';
$conn = mysqli_connect($dbhost, $dbuser, $dbpass);
if(! $conn ) { die('连接失败: ' . mysqli_error($conn)); }
mysqli_query($conn, "set names utf8"); 
mysqli_select_db( $conn, 'RUNOOB' ); 
mysqli_query($conn, "SET AUTOCOMMIT=0"); // 设置为不自动提交,因为MYSQL默认立即执行 mysqli_begin_transaction($conn); 
if(!mysqli_query($conn, "insert into runoob_transaction_test (id) values(8)")) { mysqli_query($conn, "ROLLBACK"); // 判断当执行失败时回滚 } 
if(!mysqli_query($conn, "insert into runoob_transaction_test (id) values(9)")) { mysqli_query($conn, "ROLLBACK"); // 判断执行失败时回滚 } 
mysqli_commit($conn);
mysqli_close($conn); 
?>

 

展开阅读全文
加载中

作者的其它热门文章

打赏
0
0 收藏
分享
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部