Boa tarde,
Uso o DBeaver 23.1.4 e confurei um BD PostgreSQL como localhost.
acontece que ao executar o comando abaixo, o qual consta no material do curso "PostgreSQL", observei que deu a mensagem de erro abaixo:
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 curso (id)
);
/*
FOREIGN KEY (CAMPO_NA_TABELA_ORIGEM)
REFERENCES TABELA_DESTINO (CAMPO_TABELA_DESTINO)
ON UPDATE OPÇÃO
ON DELETE OPÇÃO
*/
-- OPÇÃO (RESTRICT, CASCADE)
/* Mensagem de Erro: */
Erro SQL [1005] [HY000]: Can't create table `mysql`.`aluno_curso` (errno: 150 "Foreign key constraint is incorrectly formed")
Assim, executei o comando acima dessa forma:
CREATE TABLE aluno_curso (
aluno_id INTEGER,
curso_id INTEGER,
PRIMARY KEY (aluno_id,curso_id)
);
Sendo o resultado final o seguinte:
aluno_id e curso_id (em duas colunas vazias).
Concluindo, por que não deu certo a execução do script SQL contido no material do referido curso?
Atenciosamente,
MARCELLO REUS KOCH Aluno