본문 바로가기
MySql

MySQL phpMyAdmin의 MySQL 트리거 쿼리

by 베이스 공부 2020. 9. 29.
반응형

내 PhpMyadmin SQL 탭에서 다음 쿼리를 실행하고 있습니다.

CREATE TRIGGER testTrigger 
AFTER INSERT ON tbl_table1 
FOR EACH ROW 
BEGIN 
INSERT INTO tbl_table2 (id,name) values (NEW.id,NEW.name); 
END

하지만 매번이 오류 메시지가 표시됩니다.

# 1064-SQL 구문에 오류가 있습니다. 사용하는 MySQL 서버 버전에 해당하는 설명서에서 5 행에서 ''근처에서 사용할 올바른 구문을 확인하십시오.

MySQL 클라이언트 버전을 사용하는 Im : 5.1.37, PHPMyadmim 버전 정보 : 3.2.2.1deb1

 

해결 방법

 


트리거에서 SET NEW.col_name = value 를 사용하려면 note that you CANNOT use this with the AFTER the action, and must use 작업 입니다.

따라서 아마도 다음을 시도해야합니다.

CREATE TRIGGER testTrigger 
BEFORE INSERT ON tbl_table1 
FOR EACH ROW 
BEGIN 
    INSERT INTO tbl_table2 (id,name) values (NEW.id,NEW.name); 
END

수정 됨 : 이것을 시도했고 MySQL에서 작동 중입니다.

DROP TRIGGER IF EXISTS testTrigger;
CREATE TRIGGER testTrigger 
BEFORE INSERT ON tbl_table1 
FOR EACH ROW 
BEGIN 
  INSERT INTO tbl_table2 VALUES (NEW.id,NEW.name);
END;

그런 다음 INSERT INTO test1 SELECT 5, 'pois'; 를 시도하고 트리거가 작동했습니다 !!

 

참조 페이지 https://stackoverflow.com/questions/7414480

 

 

반응형

댓글