Mysql
 sql >> база данни >  >> RDS >> Mysql

MySQL код за грешка 1452 Ограничение на външен ключ

Вие сте дефинирали ограничение за външен ключ за NameID колона, т.е. в таблица PHONE използвайки вмъкване за телефонна таблица, вие сте предали по подразбиране NameID, но NameID сочи към NAME таблица и се очаква да има вмъкнат идентификатор на запис от NAME таблицата няма стойност по подразбиране според документите

Така че второто ви вмъкване може да използва вмъкнатия if от NAME таблица като

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

И можете да вземете резултати от двете таблици, като ги присъедините

select * from NAME
JOIN PHONE 
USING (NameID)

Как да получите уникалния идентификатор за Последен вмъкнат ред

Вижте демонстрация на цигулка




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Последни x записи в блога - но само веднъж на потребител

  2. Индекси и първични ключове с много колони

  3. MySQL няколко броя в една заявка с регистър

  4. XAMPP MySQL - Настройка ft_min_word_len

  5. Грешка при мигриране на php artisan:име на възел или име на сървър са предоставени или не са известни