삽입 트리거 업데이트 및 쿼리 작업 후 삽입 시퀀스가 있고 내 문제는 쿼리에서받은 데이터가 트리거에 의해 수행 된 업데이트를 반영하지 않는다는 것입니다 (데이터베이스의 데이터가 실제로 업데이트 되더라도).데이터베이스 트리거가 열을 업데이트 한 후 쿼리를 만드는 방법은 무엇입니까?
PHP, PostgreSQL 및 Propel 1.6 ORM을 사용하고 있습니다 (데이터베이스 및 ORM에 관계 없음).
를 사용하여 AJAX가 ('book_id', 'book_score', 'voter_id'열 사용) "book_vote"테이블에 새 행 (투표)를 삽입하기 :
나는 다음과 같은 순서를 .
"book"테이블의 해당 "book_count"및 "average_score"열을 업데이트하려면 insert 트리거 후 PostgreSQL을 가져야합니다.
"book"에 대한 새로운 "vote_count"및 "average_score"데이터를 얻고 AJAX를 사용하여 해당 데이터를 클라이언트에 다시 보냅니다 (투표 후 업데이트 된 값 표시).
이것은 모두 동일한 PHP 세션에서 발생하며 내 문제는 AJAX 응답에 업데이트 된 "책"값을 얻지 못한다는 것입니다. 데이터베이스 트리거가 수행되기 전에 쿼리가 수행 된 것 같습니다. 데이터베이스 트리거 후에 쿼리가 수행되도록하는 방법이 있습니까?
삽입 후에 트리거가 작동합니까? 삽입 후 책 테이블의 열을 업데이트 했습니까? – piotrekkr
@piotrekkr : 예! 방아쇠가 작동합니다. "book"테이블의 해당 행에 대한 "vote_count"및 "average_score"열이 트리거로 업데이트됩니다. 그러나 쿼리가 업데이트되기 전에 데이터를 가져옵니다 ... – RayOnAir
트랜잭션에서 삽입 (및 트리거)을 래핑하고 다음에 처리하기 전에 커밋합니다. – JvdBerg