11
Ich habe zwei SQL-Anweisungen:H2 Datenbank CREATE TABLE mit Einschränkung
CREATE TABLE legs(legid INT PRIMARY KEY AUTO_INCREMENT NOT NULL,
playerid1 INT NOT NULL REFERENCES players(playerid),
playerid2 INT NOT NULL REFERENCES players(playerid),
added TIMESTAMP AS CURRENT_TIMESTAMP NOT NULL);
ALTER TABLE legs ADD CONSTRAINT distinct_players CHECK(playerid1 <> playerid2);
I 99% sicher bin, sollte ich in der Lage sein, sie in einer kondensieren, das heißt:
CREATE TABLE table(...
playerid2 INT NOT NULL REFERENCES players(playerid) CHECK(playerid1 <> playerid2),
...);
Aber ich bin Immer einen Syntaxfehler bekommen. AFAIK, hier sollte die Einschränkung sein.
Die Prüfbedingungen müssen sich am Ende der Tabelle befinden und dürfen nicht mit den Spalten vermischt werden, da CHECK-Bedingungen in PostgreSQL gemischt werden können. –