![](/img/trans.png)
[英]Update currently fetched array PHP on a MYSQL table without a primary key
[英]Update table without primary key
我正在建立一个商店,每个产品都有一套独特的属性。
产品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?
一个选择,
将主键 “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
提供少量product_attributes
由于1个产品具有多个存储在第二个表中的唯一属性,因此应使用表产品的ID并将其存储在具有属性的第二个表中。
希望这是你需要的吗?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.