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