sql >> Database >  >> RDS >> Mysql

FOUT 1452 (23000):Kan een onderliggende rij niet toevoegen of bijwerken:een beperking van een externe sleutel mislukt

De reden waarom u die uitzondering krijgt, is omdat u een record invoegt in tabel test_usershosts waarvan de waarde van de userID is niet aanwezig in tabel test_users . Hetzelfde als de waarde van hid is niet ook aanwezig op tabel test_hosts .

Tabel test_usershosts is afhankelijk van tabellen:test_users en test_hosts . Zorg er dus voor dat bij het invoegen van records in tabel test_usershosts , de waarden voor hid en userid bestaat al in de bovenliggende tabellen:test_users en test_hosts .

Probeer deze zoekopdracht uit te voeren en hij zal zeker worden ingevoegd.

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

Ik zie dat AUTO_INCREMENT optie op tabellen:test_users en test_hosts , zijn niet nodig omdat u waarden opgeeft voor elke query die u uitvoert op de twee tabellen.



  1. Een berekend veld maken in een Microsoft Access-query

  2. Lopende bedragen voor meerdere categorieën in MySQL

  3. Hoe u door een begrensde lijst loopt in Oracle PLSQL

  4. Inleiding tot SQL