我有以下表結構:使兩列有一個唯一的關鍵,但只有當兩個匹配?
OFFER_ID -|- COUNTRY -|- URL
1 -|- GB -|- http://www.example.com/1
1 -|- US -|- http://www.example.com/2
1 -|- FR -|- http://www.example.com/3
我要的是更新URL
時BOTH的OFFER_ID
和GB
表中已經存在。
例如,如果搜索條件是:
INSERT INTO table_name (offer_id, country, url) VALUES ('1','DE', 'http://www.example.com/3')
OR
INSERT INTO table_name (offer_id, country, url) VALUES ('2','FR', 'http://www.example.com/4')
一個新行會被插入作爲雖然OFFER_ID
的值(在實施例。2)和COUNTRY
(在例1中)是新的,值爲COUNTRY
(在前。 2)和OFFER_ID
(在例1中)不是。
然而,這樣的查詢:
INSERT INTO table_name (offer_id, country, url) VALUES ('1','FR', 'http://www.example.com/7')
的URL
列將被更新。
我知道使用ON DUPLICATE KEY UPDATE url=VALUES(url)
將是未來的方向,但如何將能夠構建這樣只有當兩個OFFER_ID
和COUNTRY
不是唯一的,作爲反對新行被插入的URL
列被更新?
任何幫助將不勝感激:)!
輝煌。正是我在找什麼! – Avicinnian