2013-03-19 81 views
0

我建立了一個商店,每個產品都有一組獨特的屬性。沒有主鍵的更新表

商品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工作臺我可以修改使用的東西一排像

UPDATE product_attributes SET att_val='1500' WHERE products_id='112' AND att_head='threshold' 

然而,這似乎並沒有當我從我的PHP腳本更新工作。

是否有一種簡單的方法來修改表以支持更新?

我很清楚愚蠢沒有一個獨特的專欄。 但我不知道如何使兩個表相關。 我應該在哪裏存儲屬性的唯一ID?

+0

發表一些代碼? – hd1 2013-03-19 13:46:25

+0

您需要發佈您的PHP代碼 - 更新應該與其他客戶端一樣正常工作。 「 – 2013-03-19 13:46:27

+0

」*似乎不起作用*「? 「看起來」做什麼而不是? – eggyal 2013-03-19 13:47:03

回答

0

由於1產品具有多個存儲在第二個表中的唯一屬性,因此您應該使用表產品的ID並將其存儲在具有屬性的第二個表中。

希望這是你所需要的?

2

一種選擇,

添加主鍵 「auto_incremented」 到product_attributes表...

ALTER TABLE `product_attributes` ADD `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY FIRST 

編號只是爲CRUD (創建,讀取,更新和刪除)任務。

您可以在兩個表之間有唯一的關係是​​至極讓你有幾個product_attributes一個product

+0

當然,但產品表將沒有關係,該ID? – Martin 2013-03-19 13:58:23

+0

不,這只是允許使用此ID的CRUD。關係是'products_id'! – JoDev 2013-03-19 14:01:44

+0

好的。我會嘗試的! – Martin 2013-03-19 14:05:28