2010-07-26 28 views
0

我想實現的是:一個包含用戶帳戶和累積結果表的測驗系統。測驗 - 用戶提交到MySQL數據庫

過程:

- 用戶設置在 - 用戶完成測驗 帳戶 - 用戶登錄-Answers進入結果表 - 結果表顯示

我的數據庫結構:

表1:用戶

user_id 
username 
password 
email 

表2:測驗

quiz_id 
title 

表3:問題

question_id 
quiz_id 
question 
question_notes 

表4:答案

answer_id 
question_id 
user_id 
answer 
answer_notes 

表5:反應

response_id 
quiz_id 
user_id 
submit_time 

問題將通過SELECT從表3輸出。

我在尋找一些指針是我如何確保每個測驗條目的關係是一致的,所以當我運行INSERT語句時ID是一致的(所以表3和表4的「question_id」是相同,例如)

我想我會有2表插入語句表4和表5.在這些插入語句,有沒有辦法確保關係匹配?

我有一些麻煩,想象如何將這些數據輸入到數據庫中,一旦我找到了這個數據,我就可以解決這個問題。

任何指向體面的內容的指針或對可能的表單處理的一點洞察都將非常感激。

非常感謝

回答

0

Foreign keystransactions執行referential integrity ...

例如:

答案

question_id is a foreign key to question.id 
user_id is a foreign key to user.id 
(These are set in the table definition) 

您插入到答案,像這樣(馬虎僞代碼) :

begin transaction 
int qid = select id from question 
int uid = select id from user 
insert (qid,uid,...) into answers 
commit transaction 
+0

這讓我在正確的方向,我通過表定義成功加入了一些表。嘗試以適當的方式實現這一點有點失落。不用擔心,謝謝你的信息,我學到了很多,還不夠,但很多:) – Dave 2010-07-27 18:05:38