Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Uso da foreign key não funciona

Ao executar o código

alter table compras add foreign key (id_compradores) references compradores(id);

O SQL não retorna nenhum erro e executa tranquilamente o comando, porém, na hora de adicionar um novo item com uma id maior do que o permitido, o SQL não gera um erro, e aceita a query , por exemplo, o limite de id é 5, se tento colocar uma id 207, ele aceita normalmente

4 respostas

boa tarde Gieandes, pode passar os scripts de criação das tabelas por favor?

/ Verifique o nome dos campos / alter table compras add foreign key (NomeDoCampoIdCompradorNaTabelaCompras) references compradores(id);

Além disso, vc pode rodar o comando SET FOREIGN_KEY_CHECKS=1; para que as verificações de chave estrangeiras sejam feitas. caso o problema ainda persista, altere a engine da tabela para InnoDB: ALTER TABLE compras ENGINE=InnoDB; ALTER TABLE compradores ENGINE=InnoDB;

Oi Gieandes,

Você pode colar aqui a estrutura das suas tabelas para que possamos analisar melhor?

Dica: você pode usar o comando desc seguido com o nome da tabela que deseja visualizar, para ter uma saída já formatada (não esqueça de colocar com formatação de código aqui na resposta).

solução!

Eu perguntei há um tempo no pt.stackoverflow.com, e me deram a dica de passar a ENGINE para INNODB e então a Foreign Key funcionou perfeitamente