How to solve the problem when you create trigger in MariaDB
mariaDB에서 create trigger시 발생하는 에러 처리
error message
SQL 오류 (1064): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use
input sql code
CREATE TRIGGER trg_triggerTest_update BEFORE UPDATE ON TriggerTest FOR EACH ROW BEGIN SET new.modifyDate = current_timestamp; END;
solution
code 앞에 DELIMITER $$
추가해준다.
다음 줄에서 ctrl+Enter 를 이용해 한 줄 실행 시 위에 에러 코드 다시 나옴… (단, ctrl+F9는 잘 먹힘)
DELIMITER는 명령 구분자를 바꿔주는 기능이다. 따라서 $$이거 하면, ‘;’ 이거 입력 시에 구분을 못 해서 단축키가 안 먹힌 것임.
그리고 프로시저 만들 때는 DELIMITER가 반드시 필요하고 (+다시 DELIMITER ;
를 실행해주어야 다음부터 단축키 먹힘), 어떤 것으로 지정해주어도 무관하다. (트리거도 마찬가지 일 듯)