11
Tengo dos sentencias SQL:base de datos de H2 CREATE TABLE con la restricción
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);
Estoy 99% seguro de que debería ser capaz de condensar en una sola, es decir:
CREATE TABLE table(...
playerid2 INT NOT NULL REFERENCES players(playerid) CHECK(playerid1 <> playerid2),
...);
Sin embargo, estoy consistentemente obteniendo un error de sintaxis AFAIK, aquí es donde debería estar la restricción.
La comprobación de restricciones tienen que ser todos en la parte inferior de la tabla y no pueden mezclarse con las columnas, como las restricciones CHECK se pueden entremezclar en PostgreSQL. –