>

다음 트리거가 있습니다 :

CREATE TRIGGER `delete_scores_trigger` AFTER DELETE ON `scores`
   FOR EACH ROW BEGIN
UPDATE `users` 
   SET `darts_thrown` = ((SELECT `darts_thrown` 
                            FROM (SELECT * FROM users) as utable 
                           WHERE `id` = old.user_id) - old.darts_thrown) 
 WHERE `users`.`id` = old.user_id;
   END

'scores'테이블에는 아래와 같이 두 개의 외래 키가 있습니다 :

ALTER TABLE `scores`
  ADD CONSTRAINT `scores_game_id_foreign` FOREIGN KEY (`game_id`) 
    REFERENCES `games` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
  ADD CONSTRAINT `scores_user_id_foreign` FOREIGN KEY (`user_id`) 
    REFERENCES `users` (`id`) ON DELETE CASCADE ON UPDATE CASCADE;
COMMIT;

SCORE가 삭제 된 후 'users'에서 'darts_thrown'필드를 업데이트하고 싶습니다. 외래 키 때문에 '게임'이 삭제 될 때마다 해당 '점수'레코드도 삭제됩니다. 해당 시점 이후 또는 그 전에 'user'. 'darts_thrown'이 트리거로 업데이트되어야합니다.


  • 이전 Magento2 사용자 정의 제품 검토 확장
  • 다음 nvd3.js - 각도 2의 nvd3 차트 문제 원하는대로 y 축 값을 표시 할 수 없습니다