Jag tror att det finns ett missförstånd. En unik begränsning över två kolumner betyder inte att var och en av kolumnerna är unika, utan att kombinationen av de två kolumnerna är unik.
Så din must_be_different
är annorlunda (och svagare) än de unika begränsningarna på prompt_input_value
och collect_project_id
. Till exempel, om du har de tre raderna
collect_project_id | prompt_input_value
--------------------+--------------------
1 | a
1 | b
2 | b
de kommer att skapa en konflikt med både enkolumns unika begränsningar, men inte heller med must_be_different
.
Jag antar att det underliggande problemet är att du vill använda INSERT ... ON CONFLICT
med flera unika begränsningar. Det kan inte göras; se denna fråga
för en diskussion och potentiella lösningar.