gpt4 book ai didi

mysql - 如何在 MYSQL 行中存储二维数组?

转载 作者:行者123 更新时间:2023-11-29 04:45:08 25 4
gpt4 key购买 nike

这甚至不可能做到。我有一张包含项目的表。 (item_id, item_name, description, 用于反序列化为实际对象的json)

我的第二个表包含包。 (package_id,package_name,price,description,item_list(2D array))二维数组需要将 item_id 值与数量相匹配。

通常,我会简单地将一个 JSON 数组序列化到项目列表位置。我担心 item_id 值被删除或更改。我不能使用外键来更改“级联”或“删除”子值。有没有办法在mysql行中存储一种子表?

如果我的问题描述不清楚,请告诉我。我想确保其他任何试图找到答案的人都可以遵循它。如果有帮助,我可能会在稍后包含一些图像。

解决方案:不,没有办法在 MySQL 行中存储二维数组。您必须使用桥接表。哦,好吧,至少有一个解决方案。解决方案总是存在的。

最佳答案

好吧,你总是可以将二维数组存储在数据库的列中,但它有一个问题,即从 mysql 检索数据你必须解析该列,而你的该列将包含多个值。当您的表中有一个多值属性时,必须将其迁移到另一个表以规范您的数据库设计。

在您的情况下,您正在查看多对多关系,即一个包裹可能有很多元素,一个元素可能被许多包裹拿走。要解决多对多关系,您必须引入一个通常称为桥接表的新表。该桥接表将从项目和包表中获取主键作为外键。添加此表的原因是为了消除冗余,这是规范化提供的众多功能之一。

关于mysql - 如何在 MYSQL 行中存储二维数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20296368/

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