방금 업데이트 된 열을 가리 키도록이 트리거를 변경해야하므로 NEWSong_id를 어떻게 변경합니까? 감사!빠른 MySQL 트리거 업데이트
DROP TRIGGER IF EXISTS `ratings_update`//
CREATE TRIGGER `ratings_update` AFTER UPDATE ON `ratings2`
FOR EACH ROW update SONGS set
rating_sum = rating_sum + NEW.rating,
rating = rating_sum/rating_count
where id = NEW.song_id
//
편집 VVV이 내 트리거 해낸 것입니다하지만 난 그것을 실행할 때 날이 오류를 던지고있다
DROP TRIGGER IF EXISTS `ratings_upd`//
CREATE TRIGGER `ratings_upd` AFTER UPDATE ON `ratings2`
FOR EACH ROW update SONGS set
rating_sum = rating_sum + NEW.rating - OLD.rating,
rating_count = rating_count,
rating = rating_sum/rating_count
where id = NEW.song_id
//
..
방금 '업데이트 된 칼럼을 가리키며'란 무엇을 의미합니까? 'NEW'는 업데이트 후에 새로운 기록을 참조하는데, 당신이 묻고있는 것처럼 보이므로 어떤 종류의 대답을 찾고 있는지 잘 모르겠습니다. –
알겠습니다.하지만 누군가가 이전 등급을 업데이트하면 업데이트 된 기존 평가에 액세스 할 수 있으므로 rating_sum = rating_sum - OLD.rating + NEW.rating을 계산할 수 있습니다. 감사. –
글쎄, 네가 네 자신의 질문에 대답 한 것 같아. 'rating_sum = rating_sum - OLD.rating + NEW.rating'하지 않으시겠습니까? –