11
Mam dwie SQL:bazie H2 CREATE TABLE z przymusu
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);
Jestem 99% pewien, że powinienem być w stanie skondensować je w jedno, a mianowicie:
CREATE TABLE table(...
playerid2 INT NOT NULL REFERENCES players(playerid) CHECK(playerid1 <> playerid2),
...);
Jednak jestem konsekwentne uzyskiwanie błędu składni. AFAIK, to tam powinno być ograniczenie.
Kontrola ograniczenia muszą być w całości w dolnej części tabeli i nie mogą być mieszane z kolumnami, jak ograniczenia CHECK mogą być wymieszane w PostgreSQL. –