首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >INNODB引擎中事务的工作

INNODB引擎中事务的工作
EN

Stack Overflow用户
提问于 2013-03-03 03:26:36
回答 1查看 87关注 0票数 0

考虑一个事务T1,

代码语言:javascript
复制
Start transaction;   
Update emp set emp_id=1 where emp_id=3;   
commit;

我使用的引擎是INNODB引擎。

在对上面显示的事务进行提交操作之前,我再次访问了表--它显示了前面提交的值。如果将行级别锁定放置在表上,它可能会显示错误(当某些事务处于中间时,您无法访问)。在我的理解中是否有任何错误。?有人能帮我吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-03-03 04:20:08

即使在事务提交之前,作为事务一部分执行的任何操作都可用于同一事务。这些更改在其他事务中不可用。

要测试这一点,您需要在一个事务中更新,然后从另一个终端启动一个新事务并尝试访问。第二个事务将能够读取数据,但是如果您试图更新,更新将阻塞并等待第一个事务被提交。

如果希望第二个select等待并返回更新数据,则应使用select进行更新。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15182140

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档