PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Dans Postgresql, forcez l'unicité sur la combinaison de deux colonnes

CREATE TABLE someTable (
    id serial PRIMARY KEY,
    col1 int NOT NULL,
    col2 int NOT NULL,
    UNIQUE (col1, col2)
)

autoincrement n'est pas postgresql. Vous voulez une integer primary key generated always as identity (ou serial si vous utilisez PG 9 ou inférieur. serial était obsolète dans PG 10).

Si col1 et col2 faire un unique et ne peut pas être nul alors ils font une bonne clé primaire :

CREATE TABLE someTable (
    col1 int NOT NULL,
    col2 int NOT NULL,
    PRIMARY KEY (col1, col2)
)