Можно ли реализовать такую связь - 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
, что нарушает ограничение внешнего ключа.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д