sql >> Databasteknik >  >> RDS >> Mysql

MySQL-felkod 1452 Foreign Key Constraint

Du har definierat en främmande nyckel-begränsning på NameID kolumnen, dvs i tabellen PHONE genom att använda infoga för telefontabell har du skickat standard mot NameID, men NameID pekar på NAME tabell och förväntar sig att ha infogat post-id från NAME Tabellen har inte ett standardvärde enligt dokumenten

Så din andra infogning kan använda den infogade om från NAME tabell som

INSERT INTO NAME (NameID, NAME) VALUES (DEFAULT, 'John Doe');
INSERT INTO PHONE (NameID, PhoneNumber, NumType) VALUES (LAST_INSERT_ID(), '706-782-4719', 'Home');

Och du kan ta resultat från båda tabellerna genom att gå med i dem

select * from NAME
JOIN PHONE 
USING (NameID)

Hur får du det unika ID:t för Senast infogade rad

Se fioldemo




  1. Hur man kör en Oracle-lagrad procedur via en databaslänk

  2. Oracle till PostgreSQL:BÖRJA MED/KOPPLA VID

  3. Hur ändrar man ägandet av alla objekt i ett visst schema i PostgreSQL?

  4. Vad är skillnaden mellan MyISAM och InnoDB?