MySql-表名称交换是原子操作吗

没有名字的念头

我有一张桌子,叫它myTbl我也有两个表-MonitorMonitor_bkp现在,无论何时更新以下内容,我都建立了一个触发器以在Monitor中创建新行myTbl

CREATE TRIGGER mon_task_after_update_task 
AFTER UPDATE ON myTbl
FOR EACH ROW INSERT INTO Monitor VALUES(new.id, SYSDATE())
    ON DUPLICATE KEY UPDATE last_modified=SYSDATE();

一切正常,而且我随时都有很多更新myTbl现在我的问题是,如果我和你交换的名称MonitorMonitor_bkp使用

RENAME TABLE foo TO foo_old, foo_new To foo;

交换进行时是否有可能触发触发器,如果​​触发,触发器是否会失败?

瓦特夫

根据手册(以及我使用此功能进行日志轮换的经验),该操作是原子性的,正在尝试使用该表的线程必须等待RENAME TABLE完成。

这也意味着RENAME TABLE它将等待所有触摸表的事务完成,而在等待时它将锁定所有尝试触摸表的后续事务。

基本上,所有内容都会在交换期间最长的事务持续时间内冻结,但是会保持一致。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

MySQL上的join insert / update是原子操作吗?

来自分类Dev

如何在MySQL中的一个原子操作中重命名两个表

来自分类Dev

MySQL表名称指南样式

来自分类Dev

如何清理MySQL表名称

来自分类Dev

C中的“ ++”操作是原子的吗?

来自分类Dev

Python MySQL参数查询动态表名称

来自分类Dev

MySQL动态SQL表名称和结果

来自分类Dev

MySQL表名称作为参数

来自分类Dev

类中的动态MySQL表名称

来自分类Dev

MySQL表名称的数学运算

来自分类Dev

获取记录所在的mysql表的名称

来自分类Dev

Python MySQL参数查询动态表名称

来自分类Dev

MySQL 大写表,模式名称

来自分类Dev

MySQL兴趣表结构(操作方法)

来自分类Dev

我应该使用单独的mysql表吗

来自分类Dev

mysql表的id可以从0开始吗?

来自分类Dev

我应该使用单独的mysql表吗

来自分类Dev

我可以加入mysql表动态吗

来自分类Dev

mysql中数据的原子性

来自分类Dev

指针地址交换在C ++中是否总是原子操作?

来自分类Dev

C ++原子CAS(比较和交换)操作不会更改值

来自分类Dev

原子操作线程安全-我需要“镜像”原子读取吗?

来自分类Dev

在Linux中,waitpid()是原子操作吗?

来自分类Dev

C ++ 11原子类和操作-对吗

来自分类Dev

paramiko文件传输操作是原子的吗?

来自分类Dev

原子操作足以实现互斥吗?

来自分类Dev

paramiko文件传输操作是原子的吗?

来自分类Dev

授权应该与操作原子化吗?

来自分类Dev

更新是原子操作吗?(更新库存)