MySQL DROP触发器
我们可以使用
DROP TRIGGER 语句在MySQL中删除/删除/删除触发器。从表中删除触发器时,必须非常小心。因为一旦删除触发器,便无法恢复。如果未找到触发器,则DROP TRIGGER语句将引发错误。
MySQL允许我们主要通过两种方式删除/删除/删除触发器:
MySQL命令行客户端
MySQL Workbench
MySQL命令行客户端
我们可以使用具有以下语法的DROP TRIGGER语句从数据库中删除现有触发器:
DROP TRIGGER [if EXISTS] [schema_name.]trigger_name;
参数说明
放置触发器语法中使用的参数说明如下:
参数 |
说明 |
Trigger_name |
这是我们要从数据库服务器中删除的触发器的名称。这是必填参数。 |
Schema_name |
这是触发器所属的数据库名称。如果我们跳过此参数,该语句将从当前数据库中删除触发器。 |
IF_EXISTS |
这是一个可选参数,仅当触发器存在于数据库服务器上时,才有条件地删除触发器。 |
如果我们删除不存在的触发器,则会收到错误消息。但是,如果我们指定了IF EXISTS子句,则 MySQL 给出
NOTE 而不是错误
请注意,在执行与触发器关联的表的DROP TRIGGER语句之前,我们必须具有TRIGGER特权。另外,删除表将自动删除与该表关联的所有触发器。
MySQL DROP触发器示例
让我们看看如何删除与表关联的触发器表通过一个例子。因此,首先,我们将使用以下语句在所选数据库中
显示所有触发器:
mysql> SHOW TRIGGERS IN employeedb;
执行该语句之后,我们可以看到有两个名为
before_update_salaries 和
sales_info_before_update 的触发器。参见下图:
如果要删除
before_update_salaries 触发器,执行以下语句:
mysql> DROP TRIGGER employeedb.before_update_salaries;
它将成功从数据库中删除触发器。如果我们再次执行上述语句,它将返回一条错误消息。参见输出:
如果再次使用
执行上述语句> IF EXISTS 子句,它将返回警告消息,而不产生错误。看到输出:
mysql> DROP TRIGGER if EXISTS employeedb.before_update_salaries;
我们可以执行
SHOW WARNING 语句,使用IF EXISTS时,为不存在的触发器生成
NOTE 。参见输出:
如何在MySQL中删除触发器工作台?
要在工作台中创建 AFTER UPDATE触发器,我们首先
启动MySQL工作台,然后使用用户名和密码登录。我们将获得如下所示的UI:
现在请执行以下步骤删除或销毁与该表关联的触发器:
1、转到
导航标签,然后单击
Schema 菜单。它将显示MySQL数据库服务器中所有可用的数据库。
2、选择数据库(例如,
mystudentdb )。然后,双击所选的架构。它显示
子菜单,其中包含表,视图,函数和存储过程。参见下面的屏幕。
3、展开
表格子菜单,然后选择与触发器相关联的表格。再次展开所选的
表格->触发器;我们将得到以下图像:
4、现在,右键单击所选表,然后选择
Alter Table 选项,屏幕如下:
5、现在,单击上一节的
红色矩形框中显示的 触发器 标签。您会注意到,有一个用于添加或删除触发器的
(+)和(-)图标按钮:
6、现在,单击
(-)按钮将永久删除与表格关联的触发器。