작성한 트리거를 삭제할 수 있습니다. 트리거 삭제 또한 기존에 익숙한 DROP 명령을 통 하여 삭제할 수 있습니다.

| 쿼리 문법 |

DROP TRIGGER 트리거명; 

23.3.1 쿼리 실습

기존에 실습한 트리거를 삭제해 보도록 합니다.

| 예제 쿼리 |

drop trigger backup_mem; 

| 콘솔 실습 화면 |

mysql> drop trigger backup_mem;
Query OK, 0 rows affected (0.00 sec)

23.3.2 PHP 실습

PHP 코드를 통하여 트리거 삭제 메서드를 만들어 봅니다.

| PHP 예제 | mysql.class.php 파일에 메서드 예제를 추가합니다.

// 생성한 트리거를 삭제합니다.
public function dropTrigger($name)
{
            if ($name){
                $queryString = "DROP TRIGGER $name";
                
                // 쿼리를 전송합니다.
                if (mysqli_query($this->dbcon, $queryString)=== TRUE){
                    $this->msgEcho("쿼리성공] ".$queryString);
                    $this->msgEcho(" 트리거 삭제!");
                    return true; 

                } else {
                    $this->msgEcho("Error] ".$queryString);
                    return false;
                }

            } else {
                $this->msgEcho("Error] 트리거명을 적어주세요.");
            }
}

예제 파일 | tri-03.php

<?php

	include "dbinfo.php";
	include "mysql.class.php";
 
	// ++ Mysqli DB 연결.
	$db = new JinyMysql();

	$name = "backup_mem";
	if($db->dropTrigger($name)){
		echo $name." 트리거 삭제성공! <br>";

		if($rowss = $db->showTriggers()){
			echo "tables fields = ". count($rowss) . "<br>";
 
			for($i=0;$i<count($rowss);$i++){
				echo $i."=";            
				print_r($rowss[$i]);
				echo "<br>";
			}
		} else {
			echo $name." 트리거를 찾을 수 없습니다.";
		}
        
	} else {
		echo "트리거를 삭제 할 수 없습니다.<br>";
	}
 
?>

화면 출력

mysql connected!
쿼리성공] DROP TRIGGER backup_mem
트리거 삭제!
backup_mem 트리거 삭제성공! 
쿼리성공] SHOW TRIGGERS
backup_mem 트리거를 찾을 수 없습니다.