2011-05-18 58 views
1

我在動作中創建了一個遊戲,需要使用外部數據庫來存儲用戶詳細信息和分數。在sql數據庫的多個表中插入一個條目

這個數據庫將包含多個表,目前有兩個表。

我的第一張表包含標題 - ID,電子郵件,用戶名,密碼。

我的第二張表包含標題 - ID,lvl1Score,lvl2Score,lvl3Score。

在我的遊戲中,當創建一個新用戶時,它會在ID自動遞增的第一個表中創建一個條目。

我的問題是 - 有沒有辦法在第二張表中自動創建一個條目,其默認值和相同的ID添加到我的第一張表時? 我已閱讀關於連接,但我讀過的一切只是談論在多個表中查找數據。

另外,我的表結構是否正確,可以使用JOIN鍵從兩個表中查找條目來使用ID值。

+0

您可以創建一個將記錄有相同ID你的第二個表上的第一個表(插入後)的觸發器。 – wimvds 2011-05-18 14:00:58

回答

1

我建議你去觸發器。

創建或之後
插入對錶1的
爲每一行替換觸發TRIGGER_NAME
開始
插入到表2的值(new.id 「爲lvl2score值」, 「爲lvl3score值」);
end

就像這樣。

+0

感謝您的回答,這正是我需要的。 – 2011-05-18 15:38:11

1

如果表格確實具有一對一的關係,我建議您只需製作一個包含所有字段的表格。

或者你是否認爲這應該爲每個用戶存儲多個分數?在這種情況下,您不應該爲用戶插入默認記錄。相反,score.ID字段應改爲引用user.ID並允許重複。

0

我建議你使用觸發器和更多的靈活性,創造「用戶」和「水平」之間的多對多的關係,所以你最終會用3個表:

  • 用戶
  • 水平
  • user_level(這將包含外鍵:USER_ID,level_id)
相關問題