PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

PostgreSQL:някои проблеми за вмъкване от select с конфликт

Мисля, че има недоразумение. Уникалното ограничение за две колони не означава, че всяка от колоните е уникална, а че комбинацията от двете колони е уникален.

Така че вашият must_be_different е различен (и по-слаб) от уникалните ограничения на prompt_input_value и collect_project_id . Например, ако имате трите реда

 collect_project_id | prompt_input_value
--------------------+--------------------
                  1 | a
                  1 | b
                  2 | b

те ще създадат конфликт и с двете уникални ограничения в една колона, но нито с must_be_different .

Предполагам, че основният проблем е, че искате да използвате INSERT ... ON CONFLICT с множество уникални ограничения. Това не може да се направи; вижте този въпрос за дискусия и потенциални решения.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PostgreSQL вътрешности:Какво е „resjunk“?

  2. Как да премахна единични кавички от таблица в postgresql?

  3. Защо st_intersection връща не-многоъгълници?

  4. Как да използвам spring data jpa за заявка за колона jsonb?

  5. PostgreSQL - правилна промяна на ID на реда на таблицата