PostgreSQL
 sql >> डेटाबेस >  >> RDS >> PostgreSQL

जूक - पोस्टग्रेज UNIQUE बाधा को पहचानने में समस्या

जिस तरह से आपने अपनी अनुक्रमणिका नामित की है, मुझे लगता है कि आपके पास उन स्तंभों पर कोई बाधा नहीं है, लेकिन एक UNIQUE INDEX है :

CREATE TABLE T (a INT PRIMARY KEY, b INT, c INT);
CREATE UNIQUE INDEX u ON t(b);

INSERT INTO T (a, b, c)
VALUES (1, 2, 3)
ON CONFLICT ON CONSTRAINT u
DO UPDATE SET c = 4
RETURNING *;

उपरोक्त उत्पादन करता है:

[42704]: ERROR: constraint "u" for table "t" does not exist

हालांकि, इंडेक्स को एक बाधा में बदल दें:

DROP INDEX u;
ALTER TABLE t ADD CONSTRAINT u UNIQUE (b);

और INSERT कथन अब काम करता है।

अद्वितीय बाधाओं और अद्वितीय अनुक्रमणिकाओं के बीच अंतर के बारे में यहां स्पष्टीकरण देखें . यह वास्तव में jOOQ से संबंधित नहीं है




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. मूल्य सीमा द्वारा समूह

  2. उपयोगकर्ता पोस्टग्रेज़ की प्रक्रिया को लॉन्च करता है जो सभी CPU को 100% उपयोग करता है

  3. PostgreSQL में एकाधिक सरणियों का प्रतिच्छेदन

  4. django में postgresql db में एक नया आइटम सहेजते समय IntegrityError?

  5. PostgreSQL इंडेक्स बनाएं