我正在建立一个商店,每个产品都有一组独特的属性。
产品db看起来像这样:
products_id, relation_id, product_name, description,
price, glass, shipping, img, cat, subcat, model
由于每个产品都有几个(~40个)该产品独有的不同属性,因此我只创建了第二个表来存储它们。
products_id, att_name, att_val, att_head, att_standard, att_order
这很好用,因为永远不会有两个唯一的行。 然而,问题是当我需要修改属性内容时。
使用MySQL Workbench我可以使用
之类的东西修改行UPDATE product_attributes SET att_val='1500' WHERE products_id='112' AND att_head='threshold'
然而,当我从我的php脚本更新时,这似乎不起作用。
是否有一种简单的方法可以修改表格以支持更新?
我很清楚没有独特专栏的愚蠢。 但我不知道如何使两个表相关联。 我应该在哪里存储属性的唯一ID?
答案 0 :(得分:2)
一种选择,
将主键“auto_incremented”添加到product_attributes
表格中...
ALTER TABLE `product_attributes` ADD `id` INT( 10 ) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY FIRST
此 ID 仅适用于CRUD (创建读取更新删除)任务。
您可以在两个表之间建立唯一的关系products_id
,product_attributes
允许您只有product
{{1}}
答案 1 :(得分:0)
由于1个产品具有多个存储在第二个表中的唯一属性,因此您应该使用表产品的ID并将其存储在具有属性的第二个表中。
希望这是你需要的吗?