PHP 和 MySQL - 哪种变量类型最适合该数组?

标签 php mysql sql arrays int

问题:如标题所示

项目:我的 PHP 黑手党/黑帮策略游戏

提问原因:我不确定如何将这个问题表达到相关的 Google 搜索中。

我想知道我应该为数组使用哪种 MySql 变量类型。我会将这个数组分解为一个 ID 列表,其中包括该玩家群体中的所有人员。

下面是 MYSQL 数据示例:

PlayerId -------- Mob //Lables

134 ------------- '23','59','12','53','801' //Values

然后使用 PHP 中的 explode() 将其分解为一堆包含该生物中玩家的 IDS 的整数。

我希望生物字段具有无限的字符长度,以便玩家可以拥有巨大的生物。

我认为我可以简单地使用 longtextset 类型,但我不完全确定。我不希望在发布游戏后出现任何错误,并且我希望我的方法保持干净和正确。

非常感谢您花时间阅读本文,希望对您有所帮助。 :)

最佳答案

您应该创建一个将玩家与生物关联起来的表:

 CREATE TABLE PlayerMobs (
   PlayerId INT UNSIGNED NOT NULL,
   MobId    INT UNSIGNED NOT NULL,
   FOREIGN KEY (PlayerID) REFERENCES Players (PlayerID),
   FOREIGN KEY (MobID)    REFERENCES Mobs    (MobID)
);

然后join根据需要将其与查询中的其他表一起使用。

我已添加FOREIGN KEY constraints确保 PlayerMobs 表中仅存在有效的 PlayerIDMobID 值,但请注意,这些约束目前仅适用于 InnoDB 存储引擎。

关于PHP 和 MySQL - 哪种变量类型最适合该数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13469075/

相关文章:

php - 使用 php 在 html 文本框中检索 mysql 表值

javascript - 如何在 Laravel 中使用 npm 正确引用新安装的包的路径?

mysql - 使用联接和分组依据从三个表中获取值

php - 如何用php将表单数据提交到特定数据库,我的参数有什么问题?

mysql join 限制为 1

php - 使用另一个数据库表中的信息连接到数据库?

php - 如何自定义/样式化 woocommerce 帐户页面

php - document.ready 上的 jQuery AJAX $_POST?

mysql - SQL查询错误

sql - 将字符字段更改为日期