283 Stimmen

Wie kann ich eine PostgreSQL-Tabelle ALTERN und eine Spalte eindeutig machen?

Ich habe eine Tabelle in PostgreSQL, deren Schema wie folgt aussieht:

CREATE TABLE "foo_table" (
    "id" serial NOT NULL PRIMARY KEY,
    "permalink" varchar(200) NOT NULL,
    "text" varchar(512) NOT NULL,
    "timestamp" timestamp with time zone NOT NULL
)

Jetzt möchte ich den Permalink in der Tabelle eindeutig machen, indem ich ALTER -Einstellung des Tisches.

413voto

Baishampayan Ghose Punkte 18730

Ich habe es aus den PostgreSQL-Dokumenten herausgefunden, die exakte Syntax lautet:

ALTER TABLE the_table ADD CONSTRAINT constraint_name UNIQUE (thecolumn);

Gracias Fred .

353voto

Clint Pachl Punkte 9726

Oder Sie lassen die DB automatisch einen Constraint-Namen zuweisen:

ALTER TABLE foo ADD UNIQUE (thecolumn);

63voto

Stefan Punkte 551

Es ist auch möglich, eine eindeutige Einschränkung für mehr als 1 Spalte zu erstellen:

ALTER TABLE the_table 
    ADD CONSTRAINT constraint_name UNIQUE (column1, column2);

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X