MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

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)

ここでは、employeetableに「CheckSalary」という名前のトリガーがあります。 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)

上記の結果を見てください。トリガーはデータベースの「テスト」に存在しません。ドロップを使用して削除しました。


  1. MySQLで主キーを削除するにはどうすればよいですか?

    主キーを削除するには、最初にALTERを使用してテーブルを変更します。それで、DROPを使用して以下のようにキーをドロップします 構文 alter table yourTableName drop primary key; まずテーブルを作成しましょう- mysql> create table DemoTable    -> (    -> StudentId int NOT NULL,    -> StudentName varchar(20),    -> StudentAge

  2. 挿入する前にMySQLトリガーを停止するにはどうすればよいですか?

    このための構文は次のとおりです- delimiter // create trigger yourTriggerName before insert on yourTableName    FOR EACH ROW    BEGIN    yourStatement1    .    .    N END // delimiter ; 上記の構文を理解するために、テーブルを作成しましょう- mysql> create table DemoTable1919 &nbs