2016-04-02 14 views
6

Ben postgresql aşağıdaki komutu:: sütun başvurusu "skor" belirsiz

column reference "score" is ambiguous 

Ben sadece olduğum gibi tuhaf olduğunu düşündüm: aşağıdaki hatayı alıyorum

INSERT INTO word_relations(word1_id, word2_id, score) VALUES($1, $2, $3) 
ON CONFLICT (word1_id, word2_id) DO UPDATE SET score = score + $3`) 

bir masa kullanarak. Herhangi bir fikir? EXCLUDED.score ve word_relations.score:

set fıkrada = sağ tarafında

cevap

18

, score için iki olasılık vardır. Eski, eklenen değere erişmenin bir yoludur; İkincisi, satırda depolanan değere erişmenin bir yoludur.

ON CONFLICT (word1_id, word2_id) DO 
    UPDATE SET score = word_relations.score + EXCLUDED.score 
+0

Hangi durumda '' EXCLUDED.score' farklı word_relations.score' olacak: Ben bu yazardım

? Çatışmanın o sütunda olduğunu açıkça belirttiğinde aralarındaki bölünmenin bir sebebi var mı? – leoOrion

+0

word_relations.score eski değerdir ve şimdi eklediğiniz EXCLUDED.score yeni –