SQL Error [42601]: ERROR: syntax error at or near "Foreign"

Asked

Viewed 1,247 times

3

When creating this table in postgre sql I get this error message

Table creation tipo_agendamento_escritorio

create table tipo_agendamento_escritorio(
    id int8 not null,
    primary key (id),
    tipo_agendamento_id int8 not null,
    constraint foreign key (tipo_agendamento_id) REFERENCES tipo_agendamento (id),
    prazocomum int8 not null,
    prazotrabalhista int8 not null,
    tempoconfeccao int8 not null
);
create sequence tipo_agendamento_escritorio_id_seq;

I get the error message:

SQL Error [42601]: ERROR: syntax error at or near "Foreign"

  • "I think" there’s one left constraint there. It would be used if you were adding the foreign key after the table was created (separate query).

2 answers

1


Simplify:

create table tipo_agendamento_escritorio(
    id int8 not null,
    primary key (id),
    tipo_agendamento_id int8 not null REFERENCES tipo_agendamento (id),
    prazocomum int8 not null,
    prazotrabalhista int8 not null,
    tempoconfeccao int8 not null
);
create sequence tipo_agendamento_escritorio_id_seq;

or, if you want to declare separately (table Constraint), put a Constraint name after the term CONSTRAINT:

constraint um_nome_qualquer foreign key (tipo_agendamento_id) REFERENCES tipo_agendamento (id)

1

The name of the constraint:

...
constraint nome_constraint foreign_key (tipo_agendamento_id) REFERENCES tipo_agendamento (id),
...

Or inhibit the word constraint

...
foreign_key (tipo_agendamento_id) REFERENCES tipo_agendamento (id),
...

Browser other questions tagged

You are not signed in. Login or sign up in order to post.