Здравствуйте. Скажите пожалуйста как такое реализовать. Есть 2 таблицы products(id, name, description) и images (id, id_product, name)
И я хочу сделать связь, что если удаляется продукт, то удаляются все изображения с этим продуктом, но в тоже время, чтобы можно было создать продукт БЕЗ изображений. Я пробовал так
ALTER TABLE tb_product
ADD CONSTRAINT tb_product_tb_image_id_product_fk
FOREIGN KEY (id) REFERENCES tb_image (id_product);
Вроде всё хорошо, но я не могу создать товар без изображений.
Это потому, что перепутали в направление связи. Констрейнт формируется в зависимой таблице. ( а как я понимаю картинка является зависимым объектом от продукта)
ALTER TABLE tb_images
ADD CONSTRAINT tb_image_tb_product_id_product_fk
FOREIGN KEY (product_id) REFERENCES tb_product (id) ON DELETE CASCADE;
По идее такой констрейнт с каскадным удалением приведет к 1. созданию индекса на поле product_id в таблице image, что ускорит джойны 2. невозможности вставить image без продукта 3. к удалению связанных image при удалении продукта
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Я хочу подключиться к БД MySQL через Nodejs в моем проекте на Angular Universal