1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

Erro no insert com FK.

Pessoal, tenho duas tabelas, uma estados, e outra cidades.

Na tabela cidades contém uma fk que é a ID_ESTADO, que é o código do estado que está relacionado. Porém quando vou der o insert ele está me mostrando o erro SQL(1452), estou no Mysql (MariaDB)...

Meu código do insert é este:

Insert Into cidade (NOME_CIDADE, CEP_CIDADE, ID_ESTADO) VALUES("Teste","555", "1");

Onde eu posso estar errando... Contando que já existe um estado com o id = 1;

  • O código do estado é string mesmo? Não é numérico (int)?

    Roger75   11 de jun de 2014
  • Roger75, o MySql faz o cast automático para int.

    Qual o erro que gera? Posta aí a stacktrace completa :)

    Lucas Heitich   11 de jun de 2014
  • Ele da o erro Erro SQL (1452): Cannot add or update a child row: a foreign key constraint fails (projeto_diciplina.cidade, CONSTRAINT fk_CIDADE_ESTADOS FOREIGN KEY (ID_ESTADO) REFERENCES mydb.estados (ID_ESTADO) ON DELETE NO ACTION ON UPDATE NO ACTION)

    LuizRomero   11 de jun de 2014
  • Amigo cola toda a estrutura das tuas tabelas! :D

    brunocasali   11 de jun de 2014
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

2 respostas

Não é a resposta que estava procurando? Procure outras perguntas com as tags insert mysql banco-de-dados ou faça a sua própria pergunta.