这更多的是一个设计问题,关于实现这一点的最佳方法。
我正在尝试在我的项目中构建一个“库存”应用程序。我需要允许人们添加无限量的子数据。
现在我无法确定将数据存储为可搜索的最佳方式(所以我认为 blob 已经过时了)。我动态地将他们所谓的 param1->param2->param3->param4
存储在 BLOB 中,例如 Box Row Section
,因为每个用户只有一个架构。
我将数据存储在需要可搜索的位置,因此如果我必须查找 param1=1,param2=2,param3=3
我可以轻松找到它。我目前可以使用 LIKE 或 REGEX 搜索将其存储为纯文本数组的列,这是执行此操作的最佳方法吗?
示例:
User 1 - Box 1
User 2 - Box 1 Row 3
User 3 - Box 1 Row 3 Section 4
User 4 - Box 1 Row 3 Section 4 Cell 7
User 5 - Warehouse 42 Isle 4 Shelf 4 Position 13
这是我到目前为止所拥有的:
- inventory (TABLE)
id INT(10)
itemid MEDIUMINT(7)
userid INT(10)
inventorylocation INT(10)
amount INT(10)
- inventorylabels (TABLE)
id INT(10)
userid INT(10)
schema BLOB(65535)
- inventorylocation (TABLE)
id INT(10)
location MEDIUMTEXT(16777215)
最佳答案
我会像这样设置表格:
| id | user_id | param | sequence |
将参数的顺序按顺序排列(因此只需数1、2、3等),然后对每个参数进行递归查询。
关于php - MySQL PHP 动态数据选择/写入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33336341/