Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在创建现有mysql触发器之后,您可以修改它吗?_Mysql_Triggers - Fatal编程技术网

在创建现有mysql触发器之后,您可以修改它吗?

在创建现有mysql触发器之后,您可以修改它吗?,mysql,triggers,Mysql,Triggers,在mysql中,我可以创建一个触发器,然后像这样显示有关它的信息: mysql> show triggers like 'fooTrigger'; 这个命令给出的输出看起来非常像select语句,其中一行显示匹配的触发器。是否可以更新它显示给我的行上的列 例如,有一列被命名为语句,它定义了当触发器被激活时会发生什么。是否可以更改fooTrigger的语句字段,以便触发器执行不同的操作?或者我需要删除并重新创建触发器吗?从MySQL 5.5开始,您必须删除并重新创建触发器。 如果不删除触发

mysql
中,我可以创建一个触发器,然后像这样显示有关它的信息:

mysql> show triggers like 'fooTrigger';
这个命令给出的输出看起来非常像select语句,其中一行显示匹配的触发器。是否可以更新它显示给我的行上的列


例如,有一列被命名为
语句
,它定义了当触发器被激活时会发生什么。是否可以更改
fooTrigger
语句
字段,以便触发器执行不同的操作?或者我需要删除并重新创建触发器吗?

从MySQL 5.5开始,您必须删除并重新创建触发器。
如果不删除触发器,则无法更新
语句

文件:

您还可以使用information_SCHEMA表访问有关触发器的信息:

SELECT * FROM INFORMATION_SCHEMA.TRIGGERS
但是,由于这些表实际上是视图,因此不能对它们使用
UPDATE

它只是一种比使用SHOW触发器更方便的访问和操作信息的方法


文档:

在Windows操作系统上,您可能需要查看和编辑现有数据库对象。限制是,对于每一行,只能在
中使用body…
循环

否则,唯一的选择就是删除并重新创建触发器。
但在删除触发器之前,请确保与触发器关联的表已锁定并且

重新创建触发器后解锁。

可能重复的问题我认为其中一个问题可以关闭,但我在提问之前尝试搜索此答案,但没有找到上面链接的答案。对另一个问题进行更改或添加一些措辞以使其更易于查找,这是一个好主意吗?嗯,看起来我们可能应该关闭它,然后用户仍然可以找到问题的答案,而不管措辞如何。对于使用触发器来说,这是一个新概念,所以对此持保留态度,但MySQL 8似乎仍然如此。*(请参阅答案注释)