2010-07-31 6 views
2

Ce que je veux est quand mise à jour/insertion à la table x, incrémenter une valeur dans le tableau y, par 1déclencheur MySQL pour mettre à jour la valeur dans une autre table

exemple ci-dessous, en utilisant une instruction select, que je ne peux pas utiliser comme im la sélection de la table im essayant de mettre à jour

DELIMITER $$ 
create trigger occupancy 
after insert on tbl_attendence 
for each row 
begin 
    set @course_id = new.course_id; 
    set @attendence_date = new.attendence_date; 

    if new.reason = 1 then 

     update tbl_course_occupancy 
     set occupancy_number= (select occupancy_number 
           from tbl_course_occupancy 
           where course_id = @course_id 
           and occupancy_year = EXTRACT(year from @attendence_date)) + 1 
     where course_id = @course_id 
      and occupancy_year = Extract(year from @attendence_date); 

    end if; 

end$$ 

toute aide est appeciated, grâce

Répondre

4

utilisation:

UPDATE tbl_course_occupancy 
    SET occupancy_number = occupancy_number + 1 
WHERE course_id = @course_id 
    AND occupancy_year = Extract(year from @attendence_date); 
+0

merci, aurait dû le réaliser moi-même – biokiwi

Questions connexes