복붙노트

[SQL] 트리거 생성 오류 : 유효하지 않은 구문을

SQL

트리거 생성 오류 : 유효하지 않은 구문을

SQL 쿼리 :

CREATE TRIGGER tg_newuser_insert
BEFORE INSERT ON tbl_newuser
FOR EACH ROW
BEGIN
  INSERT INTO tbl_seq VALUES (NULL)
  SET NEW.id = CONCAT('YTUM', LPAD(LAST_INSERT_ID(), 8, '00000'));
END

해결법

  1. ==============================

    1.귀하의 포맷은 저장 프로 시저를 만드는 것보다 다르지이 없기 때문에, DELIMITER $$ 문이 필요 기억 꺼져 있습니다.

    귀하의 포맷은 저장 프로 시저를 만드는 것보다 다르지이 없기 때문에, DELIMITER $$ 문이 필요 기억 꺼져 있습니다.

    문서에게이 같은 문제로 실행되는 시간을 확인합니다.

    예를 볼 수있는 문서를 아래로 스크롤 약 절반 방법.

    그러나, 이것은 당신이 찾고있는 것입니다 :

    DELIMITER $$
    CREATE TRIGGER tg_newuser_insert 
    BEFORE UPDATE ON tbl_newuser
    FOR EACH ROW
        BEGIN
    
            SET NEW.id = CONCAT('YTUM', LPAD(LAST_INSERT_ID(), 8, '00000'));
    
        END $$
    DELIMITER ;
    
  2. from https://stackoverflow.com/questions/33905097/create-trigger-error-invalid-syntax by cc-by-sa and MIT license