2
respostas

FOREIGN KEY: ERROR: syntax error at or near "FOREIGN"

CREATE TABLE aluno_curso (
    aluno_id INTEGER,
    curso_id INTEGER,

    PRIMARY KEY (aluno_id, curso_id)

    FOREIGN KEY (aluno_id) 
     REFERENCES aluno (id),

    FOREIGN KEY (curso_id) 
     REFERENCES cursos (id)
);

esta retornando o erro abaixo, o que pode ser?

ERROR: syntax error at or near "FOREIGN" LINE 5: FOREIGN KEY (aluno_id) ^ SQL state: 42601 Character: 101

2 respostas

Olá, Augusto, tudo bem?

Você acabou esquecendo de informar uma vírgula ao final do comando: PRIMARY KEY (aluno_id, curso_id).

Tente executar a sua query da seguinte forma:

CREATE TABLE aluno_curso (
    aluno_id INTEGER,
    curso_id INTEGER,

    PRIMARY KEY (aluno_id, curso_id),

    FOREIGN KEY (aluno_id) 
     REFERENCES aluno (id),

    FOREIGN KEY (curso_id) 
     REFERENCES cursos (id)
);

Espero ter ajudado e bons estudos!

Olá Augusto!

O erro está na tabela curso. Você está fazendo referência em uma tabela chamada "cursos" que não existe, sendo que o nome da tabela é "curso".

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software