单列

时间:2015-04-28 14:17:04

标签: mysql triggers

我很擅长在SQL中使用触发器,似乎无法找到有关该主题的任何教程,这些教程与我的愿望相同。

我有下表:

id  int(11) AI PK
user_id int(11)
academy_id  int(11)
module_id   int(11)
module_type_id  int(11)
team_id int(11)
score   int(11)
medal_id    int(11) PK
timestamp   datetime
possible_correct    int(11)
user_correct    int(11)

现在我的目标是在此表上创建AFTER UPDATE触发器,以便在完成更新后,使用以下(score

重新计算possible_correct / user_correct

有谁知道我怎么做到这一点?

1 个答案:

答案 0 :(得分:1)

您无法使用触发器after update更新同一个表,您需要before update并将值设置为

delimiter //
create trigger `your_trigger_name` before update on `your_table_name`
for each row
begin
 if new.possible_correct > 0 and new.user_correct > 0 then
   set new.score = new.possible_correct / new.user_correct ;
 end if ;
end;//

delimiter ;