首頁  >  文章  >  資料庫  >  如果 MySQL 中存在觸發器,則刪除觸發器?

如果 MySQL 中存在觸發器,則刪除觸發器?

王林
王林轉載
2023-09-16 11:57:021407瀏覽

如果 MySQL 中存在触发器,则删除触发器?

要刪除觸發器,請使用DROP指令。語法如下 −

DROP TRIGGER IF EXISTS yourTriggerName;

為了理解上述語法,您需要在目前資料庫中有一個觸發器。

要檢查觸發器是否存在,您可以使用下列查詢。我們的資料庫中有一個觸發器−

mysql> show triggers;

以下是輸出 −

+-------------+--------+---------------+------------------------------------------------------------------------+--------+------------------------+--------------------------------------------+---------+----------------------+----------------------+--------------------+
| Trigger     | Event   | Table        | Statement                                                              | Timing |Created                 | sql_mode                                   |  Definer                 | character_set_client | collation_connection | Database Collation |
+-------------+--------+---------------+------------------------------------------------------------------------+--------+------------------------+--------------------------------------------+---------+----------------------+----------------------+--------------------+
| CheckSalary | INSERT | employeetable | if new.EmployeeSalary < 1000 then setnew.EmployeeSalary = 10000;end if | BEFORE | 2018-12-31 17:33:29.54 |STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION | root@% | utf8 |utf8_general_ci | utf8mb4_0900_ai_ci |
+-------------+--------+---------------+------------------------------------------------------------------------+--------+------------------------+--------------------------------------------+---------+----------------------+----------------------+--------------------+
1 row in set (0.17 sec)

在這裡,我們有一個名為'CheckSalary'的觸發器在employeetable上。使用DROP命令刪除觸發器'CheckSalary'。查詢如下 -

mysql> drop trigger if exists CheckSalary;
Query OK, 0 rows affected (0.30 sec)

使用show triggers指令檢查觸發器是否存在。查詢如下 −

mysql> show triggers;
Empty set (0.00 sec)

現在看上面的結果,觸發器不存在於資料庫「test」中。我們使用 drop 將其刪除。

以上是如果 MySQL 中存在觸發器,則刪除觸發器?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:tutorialspoint.com。如有侵權,請聯絡admin@php.cn刪除