PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

In Postgresql, forza univoco sulla combinazione di due colonne

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

autoincrement non è postgresql. Vuoi una integer primary key generated always as identity (o serial se si utilizza PG 9 o inferiore. serial è stato gradualmente deprecato in PG 10).

Se col1 e col2 rendono univoco e non può essere nullo, quindi creano una buona chiave primaria:

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