Можно ли реализовать такую связь - MySQL
Формулировка задачи:
Добрый день есть у меня таблица parse в ней соответственно id и есть другая таблица parseImg в которой есть поле idParse в котором хранится id из таблицы idParse. Смысл в чем можно ли сделать какую-то связь между этими двумя таблицами так, если я удалю запись из parse например с id = 10, автоматически удалились все строчки из parseImg с idParse = 10. Просто получается забудешь где-нибудь удалишь из главной таблицы строку а про второстепенные забываешь. Я работаю через phpMyAdmin если можно ссылку на пример если вообще так можно)))
Решение задачи: «Можно ли реализовать такую связь»
textual
Листинг программы
ALTER TABLE `parseImg` ADD FOREIGN KEY (`idParse`) REFERENCES `parse`(`id`) ON DELETE RESTRICT ON UPDATE RESTRICT; Ответ MySQL: Документация #1452 - Cannot add or update a child row: a foreign key constraint fails (`freebie`.`#sql-25b0_31c`, CONSTRAINT `#sql-25b0_31c_ibfk_1` FOREIGN KEY (`idParse`) REFERENCES `parse` (`id`))
Объяснение кода листинга программы
- Мы добавляем новую запись в таблицу
parseImgс помощью командыALTER TABLE. - В этой команде мы используем ключевое слово
ADD, чтобы добавить новую колонку в таблицуparseImg. - Мы указываем название новой колонки как
idParse. - Мы также указываем тип данных для этой колонки, который должен быть
INT. - Мы добавляем внешнее ключовое ограничение (
FOREIGN KEY) для этой колонки, чтобы связать ее с другой таблицей. - Мы указываем название таблицы, с которой мы хотим установить связь (
parse). - Мы также указываем название колонки в этой таблице, с которой мы хотим установить связь (
id). - Мы используем ключевые слова
ON DELETE RESTRICTиON UPDATE RESTRICT, чтобы определить, что должно происходить при удалении или обновлении значений в связанной таблице. - MySQL возвращает сообщение об ошибке
#1452 - Cannot add or update a child row: a foreign key constraint fails, указывающее на то, что в таблицеparseнет записи сidравным0, что нарушает ограничение внешнего ключа.