屬性表 attr
商品表 item
關聯表 item_attr
屬性表格欄位cat_id
、title
#商品表表欄位item_id
、title
#商品表表欄位item_attr_id
、item_id
、attr_id
例如屬性有5筆記錄,cat_id
分別是1、2、3、4、5
新增一個商品,選擇了屬性2、5
那麼關聯表應該就是兩筆記錄,現在如果要修改,例如去掉5增加4,這樣一般這麼處理
我現在是先獲取原來的舊attr_id
,一個一個去查找看新attr_id
有沒有,如果沒有就刪除,再循環新attr_id
一個一個找就的attr_id
裡面有沒有,如果有跳過,沒有就加入
有更好的方法沒,一開始我想法是先全部刪除,再吧新的添加,這樣是不是不科學
天蓬老师2017-05-18 10:46:26
你後面說的是科學的,前面講的太複雜,那才不科學。
關聯表中先根據item_id全部刪除,再全部加入
delete from item_attr where item_id = 1;
insert into item_attr (item_id、attr_id) values (1, 1), (1, 2), (1, attr_id) values (1, 1), (1, 2), (1, 22);
這種效率最高