MySql 中 Transaction 与 Lock

autocommit:

缺省MySql运行在autocommit模式, 这就意味着,当你执行完一个更新时,立刻将更新存储到磁盘上。

mysql> set autocommit=0;

Query OK, 0 rows affected (0.00 sec)

mysql> select @@autocommit;
+--------------+
| @@autocommit |
+--------------+
|            0 |
+--------------+

1 row in set (0.00 sec)

 (@@autocommit是全局变量)

 

事务

mysql> start transaction;
mysql> select @a:=sum(sal) from emp where deptno=18;
mysql> update t set sumsal=@a;

mysql> commit;

(在mysql中用户变量表示为:@var_name;  赋值: set @x=2; 或者 @x :=2;)


隐式提交:

像DDL语句是自动提交的,事务中不要包含这些语句。 还有一些命令也是自动结束一个事务: set autocommit=1; begin ; lock table; start transaction ; create index; rename table; truncate table ....  (windows 中按住shift再删除文件时,不会放入回收站。)

 

回滚点(save point):

rollback ; 会回滚到start transaction;  如果设置savepoint xxx, 则可以回滚到指定地方: rollback xxx;


锁:

lock tables 表名 [read] [write] , 表名[read] [write] ......

unlock tables

例如:

mysql> lock tables trans read, customer write;

mysql> ...............

mysql> unlock tables;

转载于:https://www.cnblogs.com/jinrize/archive/2009/10/21/1587453.html

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值