我的问题是:是否可以在一个数据条目中创建两个MySQL关系?
示例:
结构:
Table: QUEST专栏: questId,questRewardTypeId
Table: REWARD_TYPE专栏: rewardId,rewardDesc
数据:
一条数据线是{}
QUEST:
{1, LEVEL AND MONEY}REWARD_TYPE:
{LEVEL, Level reward}, {MONEY, money reward}, {ITEM, item reward}

发布于 2018-07-11 03:29:00
有了两个表QUEST和REWARD_TYPE,每个表都有自己的主键(questId和rewardTypeId),通常的方法是创建第三个表,该表通过主键链接两个表中的数据集。这允许一个任务有多个奖励条目。
让我们将表命名为QUEST_REWARD,并为其提供以下结构:
+--------------+--------------+
| Field | Type |
+--------------+--------------+
| questId | int(10) |
| rewardTypeId | varchar(255) |
+--------------+--------------+类型应与QUEST和REWARD_TYPE中的键匹配。
然后,您可以为任务提供的每个奖励类型创建一个条目。例如,如果一个任务提供了一个新的级别和金钱,SQL语句可以是:
INSERT INTO QUEST_REWARD SET questId=1, rewardTypeId='LEVEL';
INSERT INTO QUEST_REWARD SET questId=1, rewardTypeId='MONEY';现在你可以通过以下查询获得任务的所有奖励(这里是id为1的任务):
SELECT * from QUEST_REWARD WHERE questId = 1;..。结果将是:
+---------+--------------+
| questId | rewardTypeId |
+---------+--------------+
| 1 | LEVEL |
| 1 | MONEY |
+---------+--------------+当然,你可以将其扩展到任意数量的奖励类型,而不仅仅是每个任务两个。此外,它也比评论中提到的任何JSON或CSV方法更容易查询,因为您可以省去将这些内容解析成其组件的麻烦。
https://stackoverflow.com/questions/42558828
复制相似问题