개인 프로젝트 진행하면서 trigger를 생성해야하는 기능 부분이 있었는데
생성 쿼리는 간단!
DELIMITER $$
CREATE TRIGGER [트리거명]
AFTER[뒤에 오는 특정 작업 전, 후 설정] INSERT ON [테이블명][trigger 설정할 특정 작업] FOR EACH ROW
BEGIN
[트리거 발생 시 처리하고 싶은 로직]
END$$
DELIMITER ;
이 글에서 말하고 싶은 요점은 이게 아니기 때문에 트리거 생성 쿼리에 대한 자세한 설명은 다른 블로그에도 많이 있으니 패스!
그래서 평소 사용하던 dbeaver로 트리거 생성 쿼리를 실행 시켰는데
실행 결과가 이렇게 뜸.
updated Rows가 -1이라는 건 뭔가 제대로 처리되지 못했다고 이해했다.
그리고 결론적으로 triggers 탭에 등록된 트리거가 없다.
SHOW TRIGGERS;
이 쿼리를 실행해도 등록된 트리거들을 볼 수 있는데 없음...
또 헛다리 짚기 시작했다. 트리거를 생성할 권한이 없는건지 권한 확인하고... 혹시나 안에 실행할 쿼리가 잘못됐던건지, 여러 값들 처리가 잘못된건지 아무리 수정하고 바꿔도 절대 뜨지 않았다.
그러다 어느 블로그 그것도 딱 한 글에서 트리거를 생성할 때만 dbeaver에서 생성하면 원활하지 않거나 등록되지 않는다는 이슈가 있다고 써놓으셔서 그것이 구세주였음
한동안 안쓰던 mysql workbench 열어서 트리거 생성 쿼리 실행했더니 바로 등록된다...
하... 그분 아니였으면 몇일을 헤멨을지... 감사합니다!!
여튼 나처럼 트리거를 등록하고 싶은데 dbeaver를 사용하고 아무리 등록해도 등록이 안된다???
아마 dbeaver에서 등록 안되는 이슈때문일 것이다. 헤메지 말고 workbench나 다른 방법으로 등록하면 될 것이에용
'MySQL' 카테고리의 다른 글
Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) 에러 처리 (0) | 2024.03.15 |
---|---|
Connection Refused - Communications link failure 에러 (0) | 2024.03.06 |
배우면서 쌓아가는 MySQL 문법 (0) | 2023.01.10 |