淘先锋技术网

首页 1 2 3 4 5 6 7

MySQL触发器是一种特殊的存储过程,对于数据库的操作能够监听并做出相应的响应。如果我们需要修改一个MySQL触发器,应该如何操作呢?下面我们来进行详细的介绍。

mysql触发器怎么改

第一步:打开MySQL命令行,连接到需要被修改的数据库。使用SHOW TRIGGERS命令查看需要修改的触发器的相关信息。


mysql> SHOW TRIGGERS \G;
*************************** 1. row ***************************
             Trigger: trigger_name
               Event: INSERT
               Table: table_name
           Statement: SQL statement
              Timing: BEFORE
             Created: 2021-05-10 10:00:00
            sql_mode: NO_ENGINE_SUBSTITUTION
             Definer: user_name@%
character_set_client: utf8
collation_connection: utf8_general_ci
  Database Collation: utf8_general_ci
1 row in set (0.00 sec)

第二步:使用DROP TRIGGER命令删除原有的触发器。此时数据库中的数据并不会受到影响。


mysql> DROP TRIGGER trigger_name;
Query OK, 0 rows affected (0.00 sec)

第三步:使用CREATE TRIGGER重新创建修改后的触发器。


mysql> CREATE TRIGGER trigger_name
       BEFORE INSERT ON table_name
       FOR EACH ROW
       BEGIN
         -- SQL statement
       END;
Query OK, 0 rows affected (0.00 sec)

最后,使用SHOW TRIGGERS命令确认修改已经成功。


mysql> SHOW TRIGGERS \G;
*************************** 1. row ***************************
             Trigger: trigger_name
               Event: INSERT
               Table: table_name
           Statement: SQL statement (updated)
              Timing: BEFORE
             Created: 2021-05-10 10:00:00
            sql_mode: NO_ENGINE_SUBSTITUTION
             Definer: user_name@%
character_set_client: utf8
collation_connection: utf8_general_ci
  Database Collation: utf8_general_ci
1 row in set (0.00 sec)

通过以上的步骤,我们就可以成功修改MySQL触发器了。