mysql数据事务语言DTL(Data Transaction Language)

事务:就是将一系列的sql语句当作“一句”来执行的一种机制----该系列语句要么全部执行成功,要么一个都不执行。

事务的特点:原子性(要么全部执行成功,要么一个都不执行)、一致性(数据保持逻辑上的合理性)、隔离性(多个事务同时并发执行,每个事物独立执行)、持久性(硬盘数据的更改)

 

事物模式:在cmd命令行模式中,是否开启了“一条语句就是一个事务”这个功能

默认情况下,这个模式是开启的,称为“自动提交模式”;

关闭后,就是“非自动提交模式”---需要人为提交。(在执行sql语句后,需要人为提交,即执行语句commit;)

关闭该模式:Set  autocommit=0;

 

事务执行的基本流程:(针对增删改语句)

1.开启一个事务:starttransaction;//也可以写成begin;

2.执行多条增删改语句;//也就是希望这多条语句要作为一个“不可分割”的整体去执行的任务

3.判断这些语句执行的结果情况:

If(没有出错){

  Commit;   //提交事务,此时就是一次性完成;

}else{

  Rollback; //回滚事务,不执行

}


具体分两种情况:

在cmd中,执行语句没有错误,直接commit,有错误,执行rollback;

在php中

$link=mysql_connect(“localhost”,”root”,”000”);
Mysql_query(“set names utf8”);
Mysql_query(“use php39“);
$sql=” start transaction;”;
Mysql_query($sql);
 
$sql1=” insert into tab_int(f1,f2,f3)values(15,25,35);”;
$result1=Mysql_query($sql1);
$sql2=” insert into tab_int(f1,f2,f3)values(16,26,36);”;
$result2=Mysql_query($sql2);
 
If($result1 && $result2){
mysql_query(“commit;”);
echo “事务执行成功!所有任务都已完成”;
}else{
mysql_query(“rollback;”);
echo “事务执行失败!数据没有被修改”;
}


 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值