mysql을 사용하고 있는데 조건이있을 때 테이블에서 삽입 할 때 트리거해야합니다.삽입시 조건이있는 트리거가 행을 삽입하지 않음
Table1에 삽입 될 정보는 사용자 메타 데이터이며 새로운 사용자 등록이 있으면 8 개의 새로운 행이 삽입됩니다. metadata_key가 '이름'때 나는 트리거를 해고 할
트리거 안쪽이 조건이 행을 삽입되지 않습니다 풋 때문에 정보가 누락 된 경우 여기에 내 문제입니다 방아쇠는 결코 해고되지 않습니다.
+---------------------Table1---------------+ Table which fires the trigger AFTER INSERT
+ user_id | meta_key | meta_value +
+ -----------------------------------------+
+ 1 | first_name | luke +
+ 1 | second_name | skywalker +
+------------------------------------------+
'
+-----------------Table2------------------+ Where I need to INSERT
+ post_author | post_content | post_title +
+ ----------------------------------------+
+ 0 | hub | luke +
+-----------------------------------------+
코드
DROP TRIGGER IF EXISTS `post` ;
CREATE DEFINER = `anagomez`@`localhost` TRIGGER `post` AFTER INSERT ON `table1`
FOR EACH ROW INSERT
if(new.meta_key='first_name') then
insert into table2(post_author,post_content,post_title) values ('0','hub',new.meta_value);
end if
어떤 조언 :
이러한 내 테이블입니다?
Shouldn 'new.metadata_key ='first_name ') then' 대신 new.meta_key'가 될 것입니다. – myesain
고마워요. 실제로 meta_key와 meta_value입니다. 예제에서는 잘못 작성했지만 코드에서는 괜찮습니다. –