Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

adicionar mais um campo como chave primária

Durante um dos exercícios anteriores eu criei a tabela ITENS_NOTAS com a chave primária sendo o campo NUMERO. Como esse vídeo pede duas chaves primárias na tabela, eu tentei usar o comando ADD PRIMARY KEY, mas obtive o seguinte resultado:

20:23:43 ALTER TABLE ITENS_NOTAS ADD PRIMARY KEY (CODIGO) Error Code: 1068. Multiple primary key defined 0.016 sec

Então, como a tabela estava vazia eu pensei em apagar a tabela usando o comando DROP TABLE e criar novamente usando dois campos como chaves primárias, mas também obtive um erro:

20:25:59 DROP TABLE ITENS_NOTAS Error Code: 3730. Cannot drop table 'itens_notas' referenced by a foreign key constraint 'FK_ITENS_NOTAS' on table 'notas'. 0.000 sec

Perguntas: Como alterar a chave primária de uma tabela que já contém chave primária? E como apagar uma tabela que está ligada a outra por chave estrangeira?

1 resposta
solução!

Renan,

Na verdade não é possível alterar uma chave primaria você precisa deletar a chave primaria existente e então criar uma nova.

Para você conseguir realizar o drop da tabela itens_notas é necessario remover primeiro a FK_ITENS_NOTAS.

ALTER TABLE notas DROP CONSTRAINT FK_ITENS_NOTAS;
DROP TABLE ITENS_NOTAS;

Não esqueça de criar novamente a FK_ITENS_NOTAS.

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