Mysql
 sql >> Baza danych >  >> RDS >> Mysql

BŁĄD 1452 (23000):Nie można dodać lub zaktualizować wiersza podrzędnego:ograniczenie klucza obcego nie powiodło się

Powodem, dla którego otrzymujesz ten wyjątek, jest to, że wstawiasz rekord do tabeli test_usershosts która jest wartością userID nie występuje w tabeli test_users . Taka sama jak wartość hid nie występuje również w tabeli test_hosts .

Tabela test_usershosts zależy od tabel:test_users i test_hosts . Upewnij się więc, że podczas wstawiania rekordów do tabeli test_usershosts , wartości dla hid i userid już istnieje w tabelach nadrzędnych:test_users i test_hosts .

Spróbuj wykonać to zapytanie, a na pewno zostanie wstawione.

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

Widzę, że AUTO_INCREMENT opcja na tabelach:test_users i test_hosts , nie są potrzebne, ponieważ podajesz wartości w każdym zapytaniu, które wykonujesz w dwóch tabelach.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Znajdź i zamień tekst w całej tabeli za pomocą zapytania MySQL

  2. Ustawienie strony Django/MySQL do używania UTF-8

  3. Odpowiednik funkcji SQLServer SCOPE_IDENTITY() w mySQL?

  4. Migracja MySQL do SQL Server

  5. Node.js synchronicznie zapętla się lub iteruje po asynchronicznych instrukcjach