是否可以在information_schema中的任何表上应用触发器?

时间:2010-03-24 12:18:09

标签: mysql triggers

是否可以在information_schema中的任何表上应用触发器?

2 个答案:

答案 0 :(得分:1)

据我了解,information_schema中的表实际上是视图。这是here

根据MySQL,您无法在临时表或视图上创建触发器。有关此问题的讨论,请参阅this page

所以,我会根据这些信息说不。如果我错了,我相信有人会纠正我。

有一个类似于你问here的讨论。

你想要完成什么?

答案 1 :(得分:0)

有人更聪明 - 开个玩笑,但我一直在尝试做同样的事情,唯一明显的答案就是添加一个抽象层,不幸的是。

简单地说,您需要使用另一种语言调用更高级别的函数(由您自己编写),而不仅仅是SQL(“ALTER TABLE ....”),如下所示:

- >

modifytable( $old_table_structure,$new_table_structure){
 alter_table_base_table($old_table_structure,$new_table_structure);
 alter_table_history_table($old_table_structure,$new_table_structure); //just guessing   that's what I'm doing with it so thought it was the same for you
 alter_history_triggers($old_table_structure,$new_table_structure);
}

我真的很想在DBMS中直接这样做,但看起来info_schema并不适用于此。

当然,你想要在一次交易中拥有所有这些,以确保它不会爆炸;)