2016-06-05 2 views
0

문제점에 대한 해결책을 찾고 있습니다. 나는 두 개의 필드 (ID, info_data)를 보내고 트리거에 의해 세 번째 필드 (secuencia)를 추가하려고하지만 나는 할 수 없다.PHP MYSQL 및 트리거

테이블, 결과 및 예상 결과 enter image description here

트리거 :

DELIMITER $$ 
CREATE TRIGGER regi_tg 
BEFORE INSERT ON registros 
FOR EACH ROW 
BEGIN 
SET NEW.secuencia = new.id; 
END$$ 
DELIMITER; 

PD : 내가 info_data가 secuencia에 데이터를 복사 작업,하지만 secuencia의 ID 성과를 복사

답변

0

테스트 코드 :

DELIMITER $$ 

CREATE TRIGGER regi_tg AFTER INSERT ON registros FOR EACH ROW 
    BEGIN 
      SET OLD.secuencia = NEW.id; 
    END; 

CREATE TRIGGER regi_tg AFTER UPDATE ON registros FOR EACH ROW 
    BEGIN 
      SET OLD.secuencia = NEW.id; 
    END; 


END$$ 
DELIMITER ; 
+0

나는 그것을 사용할 수 없다. (# 1362 - 트리거에서 이전 행을 업데이트 할 수 없다. –

0

이 방아쇠와 그것이 작동되면서, 나는 최근 잠시 동안 생각했고, 많은 지위를보고 있었다. 그러나 나는 정확한 형태인지 모른다. enter image description here

트리거

DELIMITER $$ EACH ROW FOR registros ON INSERT BEFORE 트리거 regi_tg 을 만들 MD5 SET의 new.secuencia를 = BEGIN ((ID 내림차순 LIMIT 1 BY ORDER registros로부터 ID를 선택) +1); END $$ DELIMITER;