问题:如标题所示
项目:我的 PHP 黑手党/黑帮策略游戏
提问原因:我不确定如何将这个问题表达到相关的 Google 搜索中。
我想知道我应该为数组使用哪种 MySql 变量类型。我会将这个数组分解为一个 ID 列表,其中包括该玩家群体中的所有人员。
下面是 MYSQL 数据示例:
PlayerId -------- Mob //Lables
134 ------------- '23','59','12','53','801' //Values
然后使用 PHP 中的 explode()
将其分解为一堆包含该生物中玩家的 IDS 的整数。
我希望生物字段具有无限的字符长度,以便玩家可以拥有巨大的生物。
我认为我可以简单地使用 longtext
或 set
类型,但我不完全确定。我不希望在发布游戏后出现任何错误,并且我希望我的方法保持干净和正确。
非常感谢您花时间阅读本文,希望对您有所帮助。 :)
最佳答案
您应该创建一个将玩家与生物关联起来的表:
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
表中仅存在有效的 PlayerID
和 MobID
值,但请注意,这些约束目前仅适用于 InnoDB
存储引擎。
关于PHP 和 MySQL - 哪种变量类型最适合该数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13469075/