No puedo entender el error de sintaxis al crear una clave compuesta. Puede ser un error lógico, porque he probado muchas variedades.Postgres: ¿Cómo hacer las teclas compuestas?
¿Cómo se crean las claves compuestas en Postgres?
CREATE TABLE tags
(
(question_id, tag_id) NOT NULL,
question_id INTEGER NOT NULL,
tag_id SERIAL NOT NULL,
tag1 VARCHAR(20),
tag2 VARCHAR(20),
tag3 VARCHAR(20),
PRIMARY KEY(question_id, tag_id),
CONSTRAINT no_duplicate_tag UNIQUE (question_id, tag_id)
);
ERROR: syntax error at or near "("
LINE 3: (question_id, tag_id) NOT NULL,
^
¿Cómo implementar un contraint como "RESTRICCIÓN DE no_duplicate_refences de referencia único tag_id a (etiqueta 1, etiqueta 2, etiqueta 3)"? –
@Masi, no creo que entienda lo suficiente de lo que está tratando de modelar aquí, y, para ser sincero, las columnas 'tag1' a' tag3' me sugieren que podría tener más refinamientos de diseño para hacer. Tal vez una pregunta por separado, con una descripción en lenguaje natural de su modelo y algunos registros de ejemplo, ayude. – pilcrow