2010-07-31 6 views
2

Что я хочу это при обновлении/вставок в таблицу х, увеличивает значение в таблице у, 1MySQL триггера для обновления значения в другой таблице

примера ниже, используя оператор выбора, который я не могу использовать в качестве им выбрать из таблицы им пытаются обновить

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$$ 

любая помощь appeciated, благодаря

ответ

4

Использование:

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

спасибо, должен был это осознать – biokiwi

Смежные вопросы