반응형
내 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
반응형
'MySql' 카테고리의 다른 글
MySQL mysql에서 루프를 사용하여 다른 테이블의 데이터 삽입 (0) | 2020.09.29 |
---|---|
MySQL의 Distinct의 반대 (0) | 2020.09.29 |
MySQL phpMyAdmin의 MySQL 트리거 쿼리 (0) | 2020.09.29 |
MySQL 스킵 잠금 테이블과 mysqldump (0) | 2020.09.29 |
MySQL / 쓰기 파일 오류 (Errcode 28) (0) | 2020.09.29 |
댓글