sql >> Databasteknik >  >> RDS >> PostgreSQL

PostgreSQL:några problem att infoga från välj med på konflikt

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.




  1. Hur man laddar attribut från associerade modeller med sequelize.js

  2. Använder Apostrophe i MySQL ENUM-värde som kommer att fylla HTML-kombinationsrutan för databassökning

  3. Hur ansluter man mysql till Basex?

  4. PHP - MySQL - Ta bort rad