Olá. Estou enfrentando o seguinte problema:
ERROR: update or delete on table "aluno" violates foreign key constraint "aluno_curso_aluno_id_fkey" on table "aluno_curso"
DETAIL: Key (id)=(1) is still referenced from table "aluno_curso".
SQL state: 23503
Isso acontece ao tentar deltar registro da tabela aluno, mesmo depois de ter criado a tabela 'aluno_curso' habilitando o cascading.
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)
on delete cascade
);
insert into aluno_curso (aluno_id, curso_id) values (1, 1);
insert into aluno_curso (aluno_id, curso_id) values (2, 1);
insert into aluno_curso (aluno_id, curso_id) values (3, 1);
insert into aluno_curso (aluno_id, curso_id) values (1, 3);
O erro acontece agora quando vou dar esse comando:
delete from aluno where id = 1;
Alguém sabe o que posso estar fazendo errado?