sql >> Databáze >  >> RDS >> Mysql

CHYBA 1452 (23000):Nelze přidat nebo aktualizovat podřízený řádek:omezení cizího klíče se nezdaří

Důvodem, proč získáváte tuto výjimku, je to, že vkládáte záznam do tabulky test_usershosts což je hodnota userID není přítomen v tabulce test_users . Stejná jako hodnota hid není také přítomen v tabulce test_hosts .

Tabulka test_usershosts závisí na tabulkách:test_users a test_hosts . Ujistěte se tedy, že při vkládání záznamů do tabulky test_usershosts , hodnoty pro hid a userid již existuje v nadřazených tabulkách:test_users a test_hosts .

Zkuste provést tento dotaz a jistě bude vložen.

INSERT INTO test_usershosts (RID,userid,hid,Usr,Pass) 
VALUES (NULL,1120,30,'user','pass');

Vidím, že AUTO_INCREMENT možnost v tabulkách:test_users a test_hosts , nejsou potřeba, protože zadáváte hodnoty pro každý dotaz, který provádíte na dvou tabulkách.



  1. Připojte se ke vzdálené databázi MySQL pomocí VB.NET 2010

  2. Ovlivňuje MySQL Foreign_key_checks celou databázi?

  3. Referenční alias (vypočítaný v SELECT) v klauzuli WHERE

  4. Oracle/SQL:Proč dotaz SELECT * FROM záznamy WHERE rownum>=5 AND rownum <=10 - vrací nula řádků