更新后MYSQL触发器更改行

时间:2018-03-29 07:18:46

标签: php mysql

我拥有的: joomla-php中的一个MYSQL表,根据他的年龄和教育情况为某人提供点数。

按下提交按钮后有一个php函数,显示“if dropdown box age > 30,然后给5分。将fieldvalue”5“插入数据库行,fieldname = 'point-age'和{{1} }。

如果'fieldvalue' = 5,请给“fieldname'point-age',age < 30 10分。  教育相同(高中5分,大学10分等)。  Fieldname = education。

然后它添加到最后一行,'fieldname = point-total','fieldvalue'=所有其他行的总和。

example of table image

我的php功能:

fieldvalue = '10'

这很有效。

但是,我想要做的是:在更新数据库值之后,例如某人拥有高中学历并获得大学学位,或者30岁以后,或者只是纠正错误。它应该自动更新。不手动更新所有相应的字段值和总值,尤其是对于更多字段。

我正在尝试使用数据库触发器,但它显示错误消息:

//case for age
switch ($_POST['form']['age'][0]) {

    case 'over 30':
$_POST['form']['point-age'] = 5;
        break;

  case 'less than 30':
$_POST['form']['point-age'] = 10;
break;

}

//case for education
switch ($_POST['form']['education'][0]) {       
    case 'high school':
$_POST['form']['point-education'] = 5;
break; 
    case 'university':
$_POST['form']['point-university'] = 10;
break;
}

//the sum
 $_POST['form']['point-total'] = $_POST['form']
 ['point-age'] + $_POST['form']['point-education'];

我目前的问题: -我究竟做错了什么? - 触发器如何修复? - 有没有更好的方法来完成我的功能,在更改后更新积分?

#1362 - Updating of NEW row is not allowed in after trigger

0 个答案:

没有答案