sql >> Database >  >> RDS >> Mysql

MySQL-foutcode 1452 beperking externe sleutel

U heeft een externe sleutelbeperking gedefinieerd op NameID kolom d.w.z. in tabel PHONE met behulp van insert voor telefoontabel heb je de standaard doorgegeven aan NameID, maar NameID verwijst naar NAME tabel en verwacht de ingevoegde record-ID van NAME . te hebben tabel heeft het geen standaardwaarde volgens de documenten

Dus uw tweede invoeging kan de ingevoegde if van NAME . gebruiken tabel zoals

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

En je kunt resultaten van beide tabellen pakken door ze samen te voegen

select * from NAME
JOIN PHONE 
USING (NameID)

De unieke ID voor de Laatst ingevoegde rij

Bekijk fiddle-demo




  1. Teradata vullen met realistische testgegevens De Novo

  2. Genereer datums tussen datumbereiken

  3. Hoe MySql-database verbinden met Firebase?

  4. MySQL zoeken en tekst in een veld vervangen