2017-04-09 2 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

두 개의 개별 쿼리, contestants (갱신)에 대한 tbl_rate (삽입) 및 다른 하나를 확인하고 순서 IE에서 실행 tbl_rate 첫 번째로 성공하면 두 번째 쿼리가 실행됩니다.

또한 트랜잭션을 사용하여 데이터 무결성을 유지할 수 있습니다.

+0

감사합니다! 하지만 참가자마다 다른 심사 위원이 있기 때문에 특정 심사 위원에게 2 명 이상의 심사 위원이 점수를 매기려면 어떻게해야합니까? – ynnhoj24

+0

ON INSERT AFTER 트리거를 사용하여 다른 테이블을 업데이트하십시오. –

+0

© ynnhoj24, 여러 명의 심사 위원 중 한 명이 평가하거나 여러 심사 위원이 단 한 번의 경연을 평가할 것을 의미합니까? 여러 명의 심사 위원이 단일 경연을 평가할 경우 tbl_rate에 no로 많은 레코드를 삽입해야합니다. 동일한 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; 
} 

및 쿼리하기 전에 변수를 정의하기 이용

관련 문제