gpt4 book ai didi

php - 根据刚刚插入的多个值生成字符串

转载 作者:行者123 更新时间:2023-11-30 01:25:28 26 4
gpt4 key购买 nike

这个可能有点复杂。我搜索了类似的问题,但没有发现任何相关的内容。

让我从建立数据库结构开始。

我有几个表,但相关的如下: Master Table

Card Table

Deck Table

现在,我将牌组列表存储为以逗号分隔的 cardid 字符串。我意识到这是低效的,当我开始改进我的代码时,我将创建一个新表 tcg_card_in_deck ,其中包含 relationidcardiddecid。现在我的代码假设一个 decklist 字符串。

我正在构建一个允许购买套牌的功能。为了给他们实际的卡片,我有以下查询(用 PHP 生成,实际上大约有 50 个条目):

$db->query_write("INSERT INTO 
`tcg_card`
(masterid, userid, foil)
VALUES
('159', '15', '0'),
('209', '15', '0'),
('209', '15', '0'),
('318', '15', '0')");

这部分很简单。我现在的问题是确保刚刚添加的卡片可以抓取它们的 id 并将其放在一个数组中(当前作为字符串输入,一旦更新代码就作为单独表中的条目输入)。如果这是一个条目,我可以使用LAST_INSERT_ID()。如果我执行 50 个单独的插入查询,我可以在每次迭代时获取 id 并将它们添加到数组中。但因为这一切都是通过一个查询完成的,所以我不知道如何有效地找到正确的牌放入牌组列表中。我想我可以在卡片表中添加一个日期线字段来指定获取日期,但这似乎很草率,并且如果用户在类似的时间范围内从交易或补充包中获得卡片,则可能会产生有缺陷的结果。

如有任何建议,我们将不胜感激!

最佳答案

通过删除 cardid 更改 tcg_card,并使 masteriduserid 成为复合键。然后,添加名为 quantity 的行。由于您无法以任何有意义的方式区分一张卡的两个副本(除了箔片,您可以使用此模式处理),因此不需要每张卡都获得自己的 ID。

大概您没有动态输入新的 tcg_master 行,因此您不必担心将其 ID 拉回。

关于php - 根据刚刚插入的多个值生成字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18052361/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com