Как работать со связными таблицами через php?

Есть две связанные таблицы по ключевому и вторичному значению.
Вопрос в том, как заполнять такие таблицы через php?

Как будет выглядеть запрос в бд, если к примеру, при заполнении таблицы Отзывов, что будет с полем id_categoryRev?

И что логичнее всего делать при ситуации, когда какая нибудь категория будет удалена, что делать с отзывом из этой категории?
И как будет на все это влиять каскадные обновления и удаления?

Заранее спасибо всем, кто поможет разъяснить ситуацию! :)

array('Category' => 
        'id_category INT(30) PRIMARY KEY NOT NULL AUTO_INCREMENT, '
        , 'id_signin INT(30) NOT NULL, '
        , 'nameCategory VARCHAR(50) NOT NULL'
        )
    , array('Reviews' => 
        'id_review INT(30) PRIMARY KEY NOT NULL AUTO_INCREMENT, '
        , 'id_categoryRev INT(30) NOT NULL, '
        , 'fio VARCHAR(50) NOT NULL, '
        , 'email VARCHAR(50) NOT NULL, '
        , 'review TEXT(5000) NOT NULL'
        , 'FOREIGN KEY (id_categoryRev) REFERENCES Category (id_category) ON DELETE CASCADE ON UPDATE CASCADE'
  • Вопрос задан
  • 2798 просмотров
Решения вопроса 2
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Согласно записи 'ON DELETE CASCADE ON UPDATE CASCADE' при удалении категории все отзывы, относящиеся к ней, тоже будут удалены. При изменении `id_category` категории поле `id_categoryRev` соответствующих отзывов тоже будет изменено.
Поскольку поле `id_categoryRev` NOT NULL, то при записи отзыва в базу Вы обязательно должны определить категорию, иначе MySQL выдаст ошибку.
Ответ написан
Комментировать
metamorph
@metamorph
Ежели прямо велосипед хотите изобретать, тогда так:
1. Разгребаете массив, выполняете нужные инсерты по очереди. После созданием родительской записи дополнительно извлекаете ее id.
2. Триггеры ON DELETE CASCADE.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽
26 апр. 2024, в 07:20
2000 руб./за проект
26 апр. 2024, в 06:46
1000 руб./в час
26 апр. 2024, в 05:31
1000 руб./за проект