У меня есть данные о продуктах во многих таблицах. и я хочу удалить все эти данные по product_id из их таблиц. Но не хочу использовать много запросов.
Например
1. delete from tbl_product_attributes where product_id = 'this'
2. delete from tbl_product_barcode where product_id = 'this'
3. delete from tbl_product_images where product_id = 'this'
4. delete from tbl_product where product_id = 'this'
Мне просто нужен один запрос, который удалит все мои относительные данные конкретного данного product_id из базы данных. именно так
Delete data from whole DB where product_id = 'this'.
Примечание: И также этот запрос не нагрузка на мой сервер.
Там в любом случае?
вы используете какой-либо фреймворк?
Вы используете InnoDB? Если это так, вам следует изучить ограничения внешнего ключа.
@Exterminator .. я использую php codeigniter и mysql
@jeroen ... да






Вы можете попробовать вот так:
DELETE T1, T2
FROM T1
INNER JOIN T2 ON T1.key = T2.key
WHERE condition;
Кроме того, вы можете определить ограничения внешнего ключа для таблиц с помощью опции ON DELETE CASCADE.
Затем при удалении записи из родительской таблицы удаляются записи из дочерних таблиц.
Проверьте эту ссылку: MySQL удалить
Здесь вы настраиваете отношения (внешние ключи) и каскадное удаление.