0
假設我有一個產品可以與k
類別關聯。簡化的數據庫結構:使用單個查詢更新數據庫中的一組數據(刪除一些條目並添加一些)
// Table for products
product
- pid
- name
// Table for categories
category
- cid
- name
// table associating a product with categories
product_category
- pcid
- pid
- cid
假設當前系統狀態已將產品與一組類別關聯。防爆
Product: Dell XPS Laptop
Categories: Laptop, Electronics, Dell
後來,管理員提交一套最新的類別,從產品去除Dell
,並增加了Computers
。管理員也可以隨時刪除多個類別並添加多個類別。
我可以通過多種方法之一做用2步此操作,包括:
- 刪除所有類別的產品,並添加那些在新集
- 檢索當前所有類別,比較一下到新的一組類別;然後根據需要運行刪除和插入查詢。
問:
有沒有辦法做到在同一時間刪除和更新使用單個查詢?要求MySQL檢查這個新的集合,刪除現有的但不在新集合中的並添加不存在的類別?