Ограничение внешнего ключа не работает в операторе изменения таблицы SQL и phpmyadmin

Я использую phpmyadmin с SQL, и у меня было более раннее утверждение о точной структуре работы с внешним ключом personID для идентификатора в таблице лиц, я не уверен, почему это не сработает, кто-нибудь знает? Допускаются два внешних ключа, поэтому я не уверен. Движок ENGINE=InnoDB, и просто для проверки я безуспешно добавил это в оператор внешнего ключа.

Обновлять: У меня снова возникла похожая ситуация, когда не работал только внешний ключ с таблицей песен, но работал другой ключ с такой же структурой.

-- 
-- Constraints for table `part_of` 
-- 
ALTER TABLE `part_of` 
 ADD CONSTRAINT `part_of_ibfk2` FOREIGN KEY (`songID`) REFERENCES `song` (`ID`)
 ON UPDATE CASCADE
 ON DELETE CASCADE;

Вот таблица part_of:

-- 
-- Table structure for table `part_of` 
-- 
CREATE TABLE `part_of` ( 
 `personID` int(6) NOT NULL, 
 `songID` int(6) NOT NULL, 
 `role` varchar(10) NOT NULL 
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

Вот таблица песен:

-- 
-- Table structure for table `song` PK is ID, index leadID
-- 
CREATE TABLE `song` ( 
 `ID` int(6) NOT NULL, 
 `title` varchar(10) DEFAULT NULL, 
 `run_time` varchar(10) DEFAULT NULL, 
 `lyrics` varchar(255) DEFAULT NULL, 
 `leadID` int(6) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1; 

Ошибка

Error
SQL query: Copy

MySQL said: Documentation

#1005 - Can't create table `musicdb`.`part_of` (errno: 150 "Foreign key constraint is incorrectly formed")

"PK is ID, index leadID" В этом коде нет такого объявления. Что ты имеешь в виду?

philipxy 10.04.2022 06:23

Можете ли вы создать схему/создать таблицу для идентификатора человека и запрос, который вы пытаетесь сделать.

silverdagger 10.04.2022 06:59
Формы c голосовым вводом в React с помощью Speechly
Формы c голосовым вводом в React с помощью Speechly
Пытались ли вы когда-нибудь заполнить веб-форму в области электронной коммерции, которая требует много кликов и выбора? Вас попросят заполнить дату,...
Стилизация и валидация html-формы без использования JavaScript (только HTML/CSS)
Стилизация и валидация html-формы без использования JavaScript (только HTML/CSS)
Будучи разработчиком веб-приложений, легко впасть в заблуждение, считая, что приложение без JavaScript не имеет права на жизнь. Нам становится удобно...
Flatpickr: простой модуль календаря для вашего приложения на React
Flatpickr: простой модуль календаря для вашего приложения на React
Если вы ищете пакет для быстрой интеграции календаря с выбором даты в ваше приложения, то библиотека Flatpickr отлично справится с этой задачей....
В чем разница между Promise и Observable?
В чем разница между Promise и Observable?
Разберитесь в этом вопросе, и вы значительно повысите уровень своей компетенции.
Что такое cURL в PHP? Встроенные функции и пример GET запроса
Что такое cURL в PHP? Встроенные функции и пример GET запроса
Клиент для URL-адресов, cURL, позволяет взаимодействовать с множеством различных серверов по множеству различных протоколов с синтаксисом URL.
Четыре эффективных способа центрирования блочных элементов в CSS
Четыре эффективных способа центрирования блочных элементов в CSS
У каждого из нас бывали случаи, когда нам нужно отцентрировать блочный элемент, но мы не знаем, как это сделать. Даже если мы реализуем какой-то...
1
2
31
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

я думаю, вам нужен первичный ключ для настольной песни, тогда вы можете попробовать снова сделать FK

Ссылка : https://www.w3schools.com/sql/sql_foreignkey.asp

Другие вопросы по теме