繁体   English   中英

我怎么能知道我的表是事务表还是锁?

[英]How can I understand my table is either transaction or lock?

基于这个问题和本文档的这一段:

对于事务表,语句失败应导致该语句执行的所有更改的回滚。 触发器失败会导致语句失败,因此触发器失败也会导致回滚。 对于非事务表,无法执行这种回滚,因此,尽管该语句失败,但是在错误点之前执行的任何更改仍然有效。

我弄清楚了如果我的表是事务性的,那么查询和触发器都将相互依赖。 我的意思是查询和触发器都将成功,或者都不成功。

那么如何检测我的表是事务表还是锁? 注意,我正在使用MySQL,InnoDB引擎和PDO (如果要知道这一点很重要)

您可以通过SHOW CREATE TABLE来查找任何单个表的类型,并查找ENGINE参数,或者使用SHOW TABLE STATUS并查看Engine列。

InnoDB支持事务。 MyISAM(旧版MySQL引擎)没有。

您还应该在对您而言重要的任何系统上检验您的假设。 仅仅因为您在本地使用特定的引擎并不意味着它的部署方式,所以服务器默认值可能会有所不同。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM