2017-04-09 132 views
1

将数据插入到'tbl_rate'表后,如何将'参赛者'表中的'已提交'字段插入或更改为'1'?如何在将值插入到另一个表中后将值插入另一个表中

表 'tbl_rate'

--------------------------------- 
rate_id judge_id cont_id score 
--------------------------------- 
14  | 36  |  5 | 10 
--------------------------------- 

表 '选手'

id event_id name gender address date_created submitted 
------------------------------------------------------------ 
5  | 25 |john doe |male |Texas | 2017-03-06| 0 
------------------------------------------------------------ 

WHERE 'id' in 'contestants' table is foreign key in 'cont_id' on 'tbl_rate' 

回答

1

让两个单独的查询,一个用于tbl_rate(插入),另一个是contestants(更新)和顺序,即运行首先运行tbl_rate,然后运行第二个查询。

您也可以使用事务维护数据完整性。

+0

它工作谢谢!!但是有不同的评委来评选参赛选手,所以如果有超过1名评委对特定选手进行评分 ,我应该怎么做? – ynnhoj24

+0

使用ON INSERT AFTER触发器更新另一个表。 –

+0

©ynnhoj24,你的意思是多位评委中的一位评委会评分,或者多名评委评分一次。如果多个评委会评价一场比赛,那么你需要在tbl_rate中插入尽可能多的记录。与此相同的评委cont_id – manian

0

请尝试下面的代码,

$sql = "INSERT INTO tbl_rate (judge_id, cont_id, score) VALUES ('".$judge_id."', '".$cont_id."', '".$score."')"; 

if ($conn->query($sql) === TRUE) { 
    $sql = "UPDATE contestants SET submitted=1 WHERE id=".$cont_id; 
    if ($conn->query($sql) === TRUE) { 
    echo "Record updated successfully"; 
    } else { 
    echo "Error updating record: " . $conn->error; 
    } 
} else { 
    echo "Error: " . $sql . "<br>" . $conn->error; 
} 

和您的查询之前定义变量

相关问题