2015-04-21 113 views
0

我想了解外鍵和能夠將數據從一個表關聯到另一個表。所以我有一張用戶表和一張名片表。外鍵SQL與用戶表的關係

用戶表具有'user_id','用戶名'&'email'。 卡表具有'card_id'&'name'。

我想要做的是將卡表格卡表關聯到用戶。所以例如,如果卡表內有Card1,並且user1想要該卡(或更多)與它們相關聯,那麼我將如何使用外鍵來執行此操作。

這裏是我正在選擇和示出了此刻我的用戶:

<?php 

     $sql = "SELECT user_id, username, email_address FROM user"; 
     $result = $conn->query($sql); 

     if ($result->num_rows > 0) { 

      // output data of each row 
      while($row = $result->fetch_assoc()) { 
      echo 
       $row["username"] . "<br>", 
       $row["email_address"] . "<br><br>"; 
      } 

     } else { 
      echo "0 Members"; 
     } 

     $conn->close(); 
    ?> 

我的用戶表我需要另一個另一小區內瞭解「card_id的」,但在其數據類型這個不知道應該?

+0

如果我理解正確你的問題,因爲card_id的值是數字(我相信),它的類型應該是INT –

+0

好吧,我也試圖環繞我怎樣才能將用戶關聯我的頭用卡號? – user3725879

+0

很難理解你的情況。你能否在你的問題中提供一個例子?什麼是「卡」表代表什麼?有什麼限制 - 用戶可以有多張卡,一張卡可以屬於多個用戶? –

回答

2

根據你的問題,你的下面的註釋:

所以卡表reffering打牌。用戶可以收集卡片,從而基本上成爲用戶卡組的一部分。我想要 這種卡與用戶關聯的方式。

我相信你可以通過2種方式實現這一點,這取決於你的遊戲/腳本中的更多場景。

場景1: 萬一一張卡片只能屬於一個用戶。 向cards table添加一個新字段。

`user_id` INT(11) 

當用戶收集卡時,只需更新該字段,以便存儲用戶的ID。

情景2: 萬一一張卡可以屬於許多用戶。 創建一個名爲users_cards新表:

users_card 
- id (INT) 
- user_id (INT) 
- cart_id (INT) 

當用戶採集卡,插入新記錄到該表與該卡的ID和用戶ID兩者。

Scenario2

+2

作爲參考,這是一個多對多連接表/中間表。 – Powerlord