2015-04-21 72 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