1
resposta

[Dúvida] Exercicio 10 - Error: SQLITE_CONSTRAINT_FOREIGNKEY: sqlite3 result code 787: FOREIGN KEY constraint failed

No exercício 9 foi solicitado para criar a tabela Projetos com chave estrangeira na coluna ID da tabela funcionários criada no exercício 8. Logo em seguida foi solicitado para incluir 3 registros na tabela Projetos. Agora no exercício 10 o comando DROP TABLE funcionario não funciona por violação de constraint. Como Dropar a tabela forçando a exclusão em cascata dos registros da tabela Projetos?

1 resposta

Olá, tudo bem?

Você está usando o SQLiteOnline? Curiosamente, executei os comandos das atividades e não obtive o erro. De toda forma, você pode seguir os passos abaixo:

Para remover a tabela funcionarios, primeiro precisamos garantir que a tabela projetos não dependa mais dela.

  1. Primeiro, remova a tabela projetos:

    DROP TABLE IF EXISTS projetos;
    
  2. Em seguida, remova a tabela funcionarios:

    DROP TABLE IF EXISTS funcionarios;
    

Se você quiser manter a tabela projetos e apenas remover os registros que dependem de funcionarios, você pode primeiro deletar os registros da tabela projetos que têm referências na tabela funcionarios:

DELETE FROM projetos WHERE id_gerente IN (SELECT id FROM funcionarios);

Depois disso, você poderá remover a tabela funcionarios sem problemas.

Espero ter ajudado.

Qualquer dúvida que surgir, compartilhe no fórum. Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!