java - 關聯表修改一般怎麼做
PHP中文网
PHP中文网 2017-05-18 10:44:26
0
3
722

屬性表 attr
商品表 item
關聯表 item_attr

屬性表格欄位
cat_idtitle

#商品表表欄位
item_idtitle

#商品表表欄位
item_attr_iditem_idattr_id

例如屬性有5筆記錄,cat_id分別是1、2、3、4、5
新增一個商品,選擇了屬性2、5

那麼關聯表應該就是兩筆記錄,現在如果要修改,例如去掉5增加4,這樣一般這麼處理

我現在是先獲取原來的舊attr_id,一個一個去查找看新attr_id 有沒有,如果沒有就刪除,再循環新attr_id一個一個找就的attr_id裡面有沒有,如果有跳過,沒有就加入

有更好的方法沒,一開始我想法是先全部刪除,再吧新的添加,這樣是不是不科學

PHP中文网
PHP中文网

认证高级PHP讲师

全部回覆(3)
某草草

關聯表應該是庫存表。一個商品+一個屬性,定義一個庫存。你上面說的遍歷之後,比對之後,有變動就修改,沒有就刪除,這個是對的。

Peter_Zhu

你後面說的是科學的,前面講的太複雜,那才不科學。
關聯表中先根據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);
這種效率最高

小葫芦

全部刪除,再根據最新的全部添加。邏輯簡單,效率最好

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板