2017-09-14 105 views
0

在我的MySQL的基础上,与发动机= InnoDB和1个文件由分区,我有:MySQL:是否由DROP PARTITION触发的DELETE触发器?

  • 表1按日期
  • 表2,通过日期计数表1的条目划分

表1是由软件填充,表2是由触发器填充于表1,如下:

CREATE TRIGGER tgi_table1 AFTER INSERT ON table1 FOR EACH ROW INSERT INTO table2 values (NEW.date, 1) ON DUPLICATE KEY UPDATE count = count+1; 
CREATE TRIGGER tgd_table1 AFTER DELETE ON table1 FOR EACH ROW UPDATE table2 SET count = count-1; 

此外,存在周期性的运行的脚本d在table1的旧分区上执行DROP PARTITION

我的问题是:请问这些DROP PARTITION是否激活触发器tgd_table1?

谢谢。

回答

0

不,它不会使用DELETE查询来删除记录。它以不同的方式丢弃数据。以下是来自mysql docs的说明:

DELETE:只要从表中删除行,触发器就会激活;例如,通过DELETE和REPLACE语句。表中的DROP TABLE和TRUNCATE TABLE语句不会激活此触发器,因为它们不使用DELETE。删除分区也不会激活DELETE触发器。

+0

我找不到这部分文档,谢谢! –