Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

ERRO 1452 (23000):Não é possível adicionar ou atualizar uma linha filho:uma restrição de chave estrangeira falha


A razão pela qual você está recebendo essa exceção é porque você está inserindo um registro na tabela test_usershosts qual o valor do userID não está presente na tabela test_users . Igual ao valor de hid também não está presente na tabela test_hosts .

Tabela test_usershosts depende das tabelas:test_users e test_hosts . Portanto, certifique-se de que ao inserir registros na tabela test_usershosts , os valores para hid e userid já existe nas tabelas pai:test_users e test_hosts .

Tente executar esta consulta e com certeza ela será inserida.
INSERT INTO test_usershosts (RID,userid,hid,Usr,Pass) 
VALUES (NULL,1120,30,'user','pass');

Vejo que AUTO_INCREMENT opção nas tabelas:test_users e test_hosts , não são necessários, pois você está fornecendo valores em cada consulta que está executando nas duas tabelas.