2

问题:在标题中说明

项目:我的 PHP Mafia/Mobsters 策略游戏

提问的原因:我不确定如何将这个问题写进一个有点相关的谷歌搜索中。

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

下面的示例 MYSQL 数据:

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

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

然后,这将explode()在 PHP 中被分解成一堆包含该人暴徒中玩家 IDS 的整数。

我希望暴民字段具有无限的字符长度,以便玩家可以拥有 HUGEE 暴徒。

我想我可能可以简单地使用longtextorset类型,但我不完全确定。一旦我发布游戏,我不希望以后出现任何错误,我希望我的方法保持干净和正确。

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

4

3 回答 3

5

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

 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)
);

然后根据需要其与查询中的其他表连接起来。

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

于 2012-11-20T08:24:03.070 回答
0

你可以试试

 CREATE TABLE PlayerMobs (
 PlayerId INT UNSIGNED NOT NULL,
 MobId   Text UNSIGNED NOT NULL);
于 2013-04-09T09:07:05.260 回答
0

我很久以前就这样做了,但是在浏览我的帐户时碰巧遇到了这个问题。

没有任何特定的“暴民”。你的“暴民”基本上就像一个朋友列表。它不是一个团体。这只是一群与你有关的人。

我相信我只是为“暴民成员”做了一行,然后把其他玩家的 id 用逗号分隔,然后在 PHP 中我用逗号作为分隔符爆炸了字符串。

于 2014-02-26T01:09:23.160 回答