zoukankan      html  css  js  c++  java
  • 事务

    事务是在数据库上按照一定的逻辑顺序执行的任务序列,既可以由用户手动执行,也可以由某种数据库程序自动执行。事务实际上就是对数据库的一个或多个更改。

    事务具有以下四个标准属性,常用缩略词ACID来表示:

    • 原子性:保证任务中的所有操作都执行完毕;否则,事务会在出现错误时终止,并回滚之前所有操作回到原始状态。
    • 一致性:如果事务执行成功,则数据库的状态得到了进行了正确的转变。
    • 隔离性:保证不同的事务相互独立、透明的执行。
    • 持久性:即使出现了系统故障,之前成功执行的事务的结果也会持久存在。

    事务控制的四个命令:

    COMMIT:提交更改;

      用于保存事务对数据库所做的更改,会将自上次COMMIT命令或者ROLLBACK命令执行以来的所有的事务都保存到数据库中。

    ROLLBACK:回滚更改;

      用于撤销尚未保存到数据库中的事务,它只能撤销自上次COMMIT命令或者ROLLBACK命令执行以来的所有的事务。

    SAVE:在事务内部创建一系列可以ROLLBACK的还原点;

      是事务中的一个状态点,使得我们可以将事务回滚至特定的点,而不是将整个事务都撤销。

    SET TRANSACTION:命名事务;

      可以用来初始化数据库事务,指定随后的事务的各种特征。

    eg:

    BEGIN TRANSACTION

    SAVE TRANSACTION S1

    SELECT * FROM table1 where `name` = 1

    SAVE TRANSACTION S2

    DELETE FROM table2 where `name` = 2

    ROLLBACK TRANSACTION S2

    COMMIT;

    以上sql,由于将数据库回滚至S2,因此DELECT不生效,只有SELECT生效。

    事务总结:

    事务在SQL应用中很广泛,特别是针对一些读写问题时,使用事务可以很好的规避意外,而且事务在出来误操作时也有很好地预防作用,能防止误删和误更新。

  • 相关阅读:
    PHP5.5安装php-redis扩展
    表格行变换顺序功能(jquery)
    linux curl命令验证服务器断点续传支持
    Yii表单模型使用及以数组形式提交表单数据
    修改win8系统中启动管理器的系统引导信息
    tiny6410的QT4.7开发与移植
    VMware 6.5 下安装 Fedora 9
    格式字符串的输入输出
    linux C下多文件编译,以及Makefile的使用
    ARM学习——建立交叉编译环境
  • 原文地址:https://www.cnblogs.com/smallzhen/p/12194689.html
Copyright © 2011-2022 走看看