MySQL创建触发器关键字

MySQL创建触发器关键字,mysql,triggers,keyword,Mysql,Triggers,Keyword,我知道在触发器中,您有NEW和OLD关键字来引用正在或曾经插入到触发器绑定到的表中的条目。还有其他关键字吗?我正在寻找一个特定的引用,即触发器绑定到的表,比如CUR_表,或者其他什么;这样我就可以复制触发器并将其应用到几个具有不同名称的表,而不需要更改触发器的主体?提前感谢您的帮助 这在MySQL中是不可能的。您可以编写一个小PHP脚本,为数组中的每个表名生成代码:动态SQL不能在触发器中使用。如果触发器存在,那么开发人员就已经知道他在哪个表中了——因此理论上,表名应该是硬编码的 如果要从存储过

我知道在触发器中,您有NEW和OLD关键字来引用正在或曾经插入到触发器绑定到的表中的条目。还有其他关键字吗?我正在寻找一个特定的引用,即触发器绑定到的表,比如CUR_表,或者其他什么;这样我就可以复制触发器并将其应用到几个具有不同名称的表,而不需要更改触发器的主体?提前感谢您的帮助

这在MySQL中是不可能的。您可以编写一个小PHP脚本,为数组中的每个表名生成代码:

动态SQL不能在触发器中使用。如果触发器存在,那么开发人员就已经知道他在哪个表中了——因此理论上,表名应该是硬编码的

如果要从存储过程生成触发器,则可以使用变量表名生成它们,但不能执行它们,因此必须获取存储过程的结果并单独执行

见:

SQL prepared语句PREPARE、EXECUTE、DEALLOCATE PREPARE可用于存储过程,但不能用于存储函数或触发器。因此,存储的函数和触发器不能使用动态SQL,即将语句构造为字符串然后执行它们


如果您在该触发器中,则触发器知道要使用哪个表。。不过,我对你的问题感到困惑。我想在触发器函数中使用select语句,如select key_name FROM CUR_TABLE或类似的语句