我用下面的代碼在MySQL中複製並插入在同一個表中的數據複製數據時,不包括特定行的插入:在同一個表
INSERT INTO table (product_id, value, branch_id)
SELECT product_id, value, "71"
FROM table
WHERE branch_id = "53"
它可以很好地用於複製和插入的所有數據。在這種情況下,它複製具有branch_id = 53的行,爲每個複製的行添加新行,而不是53插入branch_id 71。
但現在我有一些行與branch_id = 71已經插入,所以我需要通過聲明類似WHERE branch_id = "53" AND product_id != "product_id that already exists in row with branch_id=71"
排除現有數據的插入如何做到這一點在MySQL?
是否有'(產品,branch_id)'唯一索引?你可以使用'INSERT IGNORE'來讓它跳過會產生重複的行。 – Barmar