50.笔记 MySQL学习——利用事务处理保证语句
来源:互联网 发布:韩春雨 知乎 编辑:程序博客网 时间:2024/06/05 10:59
50.笔记 MySQL学习——利用事务处理保证语句
要使用事务,必须选择支持事务处理的存储引擎,如InnoDB.
默认情况下,MYSQL运行模式是自动提交的,如果要显示提交可以禁用自动提交模式。
常用事务的方法是:STARTTRANSACTION或BEGIN语句,挂起自动提交模式。
最后用COMMIT语句结束事务,让修改持久化,或者让ROLLBACK语句撤销所有的更改。
例如:
创建表:
mysql> create table d (name char(20),unique(name)) engine=InnoDB;
Query OK, 0 rows affected (0.01 sec)
开始事务处理:
mysql> start transaction;
Query OK, 0 rows affected (0.00 sec)
mysql> insert into d set name='William';
Query OK, 1 row affected (0.00 sec)
mysql> insert into d set name='Wallace';
Query OK, 1 row affected (0.00 sec)
mysql> commit;
Query OK, 0 rows affected (0.00 sec)
mysql> select * from d;
+---------+
| name |
+---------+
| Wallace |
| William |
+---------+
2 rows in set (0.00 sec)
在COMMIT之前,如果在其他会话查看的话是看不到的插入的表的。
另一个执行事务的办法是,利用SET语句
利用SET语句直接操作自动提交模式的状态:
SET AUTOCOMMIT =0;
设置为0,可以禁用自动提交模式,直到调用COMMIT或ROLLBACK。
先删除表中内容如下:
mysql> truncate table d;
Query OK, 0 rows affected (0.03 sec)
mysql> set autocommit=0;
Query OK, 0 rows affected (0.00 sec)
mysql> insert into d set name='William';
Query OK, 1 row affected (0.00 sec)
mysql> insert into d set name='Wallace';
Query OK, 1 row affected (0.00 sec)
mysql> commit;
Query OK, 0 rows affected (0.00 sec)
重新启用自动提交模式,执行如下:
mysql> set autocommit=1;
Query OK, 0 rows affected (0.00 sec)
通常情况下,那些用来创建、更改或删除数据库或其中的对象的数据定义语言(DDL)语句,以及那些与锁定有关的语句都不能成为事务的一部分。
- 50.笔记 MySQL学习——利用事务处理保证语句
- 49.笔记 MySQL学习——事务处理
- 【mysql学习笔记】-事务处理
- 《MySQL必知必会学习笔记》:事务处理
- mysql——事务处理
- MySql笔记-事务处理
- C#学习笔记18——.NET 事务处理
- Hibernate3学习笔记(11)——Hibernate事务处理
- Oracle学习笔记(十二)——oracle中事务处理
- MYSQL学习笔记——sql语句优化工具
- 3.笔记 MySQL学习——简单执行SQL语句
- MySQL事务处理学习记
- mysql学习之事务处理
- sql学习笔记(24)----------MySQL的事务处理详解
- 《MySQL必知必会》学习笔记十六(事务处理)------掌握部分
- MYSQL学习笔记(二十二)管理事务处理
- mysql学习笔记(常用语句)
- MySQL基础语句【学习笔记】
- c++primer 第五版
- 分析非结构化数据的10个步骤
- 设置图列(key/legend)的位置和大小 --gnuplot
- 商机 | 大数据/政务云采购清单 招标7起,最高招标价为850万(11.15-11.17)
- SQL Server安装教程
- 50.笔记 MySQL学习——利用事务处理保证语句
- CSS自适应网站布局媒体查询如何设置断点
- pod install 出错
- 51.笔记 MySQL学习——使用事务保存点句
- printf返回值
- 52.笔记 MySQL学习——事务隔离
- 53.笔记 MySQL学习——外键和引用完整性
- Android 消息机制——你真的了解Handler?
- 前后端交互-一些关于接口设计的思考