php - 如何设置包含引用其他表的行的 MySQL 表

标签 php mysql database

我正在开发一款游戏,用户可以注册、拥有库存并在该库存中拥有武器。我想将此信息存储在我的数据库中。

到目前为止,我的设置方式如下:

  • 我的用户表包含 UserID 列(以及其他信息)。

  • 我的库存表包含 InventoryID 列和 UserID 列 (UserID对应库存的所有者)

  • 我的武器表包含一个 InventoryID 列,该列引用 它所属的库存。

这是做事的标准方式吗?我可以更改布局并使其更简单吗?使用这样的数据库似乎有点乏味。

如果我的用户表有一个对库存条目的引用并且该条目有一系列武器,那就容易多了。我通过存储对每个条目的 ID 的引用来实现这一点,但我不能通过运行一个查询来创建一个“User”php 类(它具有对 Inventory 对象的引用,该对象具有一组 Weapon 对象)数据库。

也许有一个框架可以实现这一点?

最佳答案

您所描述的是简单的一对多关系。

您不需要库存表。

您需要一个以 userID 作为主键的用户表,并将其用作武器表中的外键。

借助联接,您可以使用一个查询来获取所有记录。

关于php - 如何设置包含引用其他表的行的 MySQL 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22925217/

相关文章:

php - 将 PHP 数组回显为 HTML?

php - 将天数转换为相对于 php 中的天数的周数

php - 如何使用 PHP INSERT 将数组存储到 mysql 并使用相同的 id 变量值

database - couchdb 是否适用于多个服务器上带有文件附件的大量文档?

Java MySQL 表

mysql唯一索引EXCEPT为空或null

PHP MySQL 按项目分组查询

php - 在 php 中为 $_POST 刷新一次

php - 回显 codeIgniter 函数的结果需要 jquery

php - PHP 中的 Where IN 子句和 while 循环的输出 while 外部