gpt4 book ai didi

mysql - 如何在一个客户端上有多个用户的 MySql 中保证并返回唯一 ID

转载 作者:行者123 更新时间:2023-11-29 10:00:41 25 4
gpt4 key购买 nike

所以我正在开发一个包含三个表的 MySQL 数据库:

表 1 定义了一种水果,其中包含“名称”、“颜色”、“ flavor ”和“Fruit_ID”等列。

表 2 定义了一个类别,其中包含“名称”、“描述”和“Cat_ID”等列。

表3定义了水果和类别之间的关系,有两列,“Fruit_ID”和“Cat_ID”。

每当插入一个水果时,它必须使用表3与一个类别相关联。我最初的计划是让Fruit_ID和Cat_ID自动递增并使用this method ,但问题是我的架构有多个用户共享一个客户端连接,而 LAST_INSERT_ID 只是 guaranteed对于每个客户来说都是正确的,据我所知。

所以我的问题是,我可以使用什么样的 SQL 查询来确保当将水果输入表 1 时,表 2 中使用正确的 Fruit_ID 对其进行分类?

此外,如果这不是建立这种关联的最佳方式,我愿意重组我的数据库(我是数据库架构的新手)。

我不愿意在 SQL 中使用存储过程。

提前非常感谢!

最佳答案

如果您无法使用LAST_INSERT_ID(),则必须使用查询来获取刚刚插入的项目的 ID。

因此,要添加一行显示苹果是红色的,您可以:

INSERT INTO fruit_category (fruit_id, cat_id)
SELECT f.id, c.id
FROM fruit AS f
CROSS JOIN category AS c
WHERE f.name = 'apple'
AND c.name = 'red'

如果您创建此关系并且不只是添加行,则这与您要做的事情相同。

关于mysql - 如何在一个客户端上有多个用户的 MySql 中保证并返回唯一 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53055514/

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