Mysql中事务的使用【mysql】

一,概述


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); 
?>

 

转载于:https://my.oschina.net/songms/blog/3066072

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值