Mysql
 sql >> Datenbank >  >> RDS >> Mysql

FEHLER 1452 (23000):Eine untergeordnete Zeile kann nicht hinzugefügt oder aktualisiert werden:eine Fremdschlüsseleinschränkung schlägt fehl

Der Grund, warum Sie diese Ausnahme erhalten, liegt darin, dass Sie einen Datensatz in die Tabelle test_usershosts einfügen was der Wert der userID ist ist in Tabelle test_users nicht vorhanden . Identisch mit dem Wert von hid ist nicht auch in Tabelle test_hosts vorhanden .

Tabelle test_usershosts ist abhängig von Tabellen:test_users und test_hosts . Stellen Sie also sicher, dass beim Einfügen von Datensätzen in die Tabelle test_usershosts , die Werte für hid und userid existiert bereits in den übergeordneten Tabellen:test_users und test_hosts .

Versuchen Sie, diese Abfrage auszuführen, und sie wird mit Sicherheit eingefügt.

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

Ich sehe das AUTO_INCREMENT Option für Tabellen:test_users und test_hosts , werden nicht benötigt, da Sie bei jeder Abfrage, die Sie für die beiden Tabellen ausführen, Werte angeben.