MySQL: Como excluir uma única tabela que está conectada via chave estrangeira?

0

Estou gerando um esquema de banco de dados via Java e quero descartar apenas as tabelas para as quais fiz alterações, a fim de evitar que eu insira todos os dados novamente (ou importe-os de um dump atualizado manualmente).

Mas como quase todas as tabelas estão conectadas por meio de chaves estrangeiras de uma forma ou de outra, o MySQL-Workbench não permite que eu elimine essas tabelas e me dê o seguinte erro:

ERROR 1217: Cannot delete or update a parent row: a foreign key constraint fails
SQL Statement:
drop table 'mydb'.'mytable'

Estou usando o MySQL 5.6 com o InnoDB.

    
por Lester 10.10.2013 / 11:20

2 respostas

1

Já experimentou as configurações FOREIGN_KEY_CHECKS a 0 antes de eliminar suas tabelas?

link

    
por 10.10.2013 / 22:50
1

Você pode gerar uma instrução DELETE em cascata. No navegador de esquemas, clique com o botão direito do mouse em sua tabela e selecione "Excluir com referências" de "Enviar para o SQL Editor" ou "Enviar para a área de transferência" e, em seguida, execute a consulta gerada.

    
por 17.06.2014 / 03:50