mysql – SQL Error [42601]: ERROR: syntax error at or near “foreign”

Question:

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

Creation of the tipo_agendamento_escritorio table

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;

Recebo a mensagem de erro:

SQL Error [42601]: ERROR: syntax error at or near “foreign”

Answer:

Simplifique:

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 it separately (table constraint), put a constraint name after the term CONSTRAINT:

constraint um_nome_qualquer foreign key (tipo_agendamento_id) REFERENCES tipo_agendamento (id)
Scroll to Top