트리거를 삭제하려면 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)
지금 위의 결과를 보면 트리거가 데이터베이스 '테스트'에 존재하지 않습니다. drop을 사용하여 제거했습니다.