0
我用在我的項目的SQL查詢,旁邊代碼:上的重複鍵奇怪的問題
ActiveRecord::Base.connection.execute "insert into open_offer_counters (offer_id, udid, open_counter) values #{opened_events.join(", ")} on duplicate key update open_counter = open_counter + 1"
我添加
add_index :open_offer_counters, :offer_id, :unique => true
add_index :open_offer_counters, :udid, :unique => true
到遷移的一個。但是當我試圖添加一個只有1個重複鍵的記錄時,這不起作用,而是更新鍵發生。基本上,如果只有兩個鍵(offer_id和udid)不同,這個代碼就可以工作。如果它們中的任何一個匹配另一個,則AR更新我的open_counter。如果只有兩個鍵匹配(offer_id和udid),我如何更新open_counter?