在MyISAM表中执行START TRANSACTION时会抛出任何错误吗?
我尝试在 MyISAM 表上启动事务,它回复“查询正常,0 行受影响(0.00 秒)”。
但我不确定是否所有版本的 MySQL 都会发生同样的情况。
是否有关于涉及事务的那些查询在非事务模式下的行为的任何规范?
I tried the start transaction on a MyISAM table, and it replied "Query OK, 0 rows affected (0.00 sec)".
But I'm not sure if the same thing will happen on all versions of MySQL.
Is there any spec about the behavior in non-transaction mode of those queries which involve being in transaction ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
不会,不会引发错误或警告。当您启动事务时,您会针对所有可用的事务引擎执行此操作,而不是针对任何特定表。
您可以在事务中使用事务性和非事务性引擎对表运行查询,但当然,只有在具有事务性引擎的表上执行的更改才需要提交/回滚。
在具有非事务性引擎的表上执行的查询将像往常一样立即生效。
No, no error or warnng will be raised. WHen you start a transaction, you do it for all transactional engines available, not for any specific table.
You can run queries on tables using both transactional and non-transactional engines within a transaction, but of course only changes performed on tableswith transactional engines will need to be commit/rollback.
Queries performed on tables with non-transactional engines will just have an immediate effect as usual.