文章詳情頁
java - 關聯表修改一般怎么做
瀏覽:195日期:2022-06-13 13:26:45
問題描述
屬性表 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里面有沒有,如果有跳過,沒有就添加
有更好的方法沒,一開始我想法是先全部刪除,再吧新的添加,這樣是不是不科學
問題解答
回答1:關聯表應該就是庫存表。一個商品+一個屬性,定義一個庫存。你上面說的遍歷之后,比對之后,有變動就修改,沒有就刪除,這個是對的。
回答2:你后面說的是科學的,前面講的太復雜,那才不科學。關聯表中先根據item_id全部刪除,再全部添加delete from item_attr where item_id = 1;insert into item_attr (item_id、attr_id) values (1, 1), (1, 2), (1, 2);這種效率最高
回答3:全部刪除,再根據最新的全部添加。邏輯簡單,效率最好
相關文章:
1. css3 讓圖片變成灰色(filter),但針對IE11瀏覽器無效2. macos - 無法source activate python273. 運行python程序時出現“應用程序發生異常”的內存錯誤?4. java - 同步/異步與阻塞/非阻塞之間的差異具體是什么?5. html - vue里面:src在IE(9-11)下不顯示圖片6. java - butterknife怎么綁定多個view7. android - Genymotion 模擬器可以做屏幕適配檢測嗎?8. html5 - 前端面試碰到了一個緩存數據的問題,來論壇上請教一下9. javascript - 打算寫一個c++的node圖像處理模塊,有沒有推薦的c++圖片處理庫?10. html5 - 在HBuilder中打包Android的apk包出錯,不知道是什么原因。
排行榜

網公網安備