Все три таблицы разные. Единственное, что у них есть, это id
и image
Обновление нескольких таблиц с одним запросом
Этот запрос работает только в том случае, если в каждой таблице есть строки.
Каков наилучший способ сделать это? Пожалуйста, не пишите готовые заявления. Это в моем списке ToDo уже :)
UPDATE subcontent, products, content
SET subcontent.image = NULL, products.image = NULL, content.image = NULL
WHERE subcontent.image = 3
OR products.image = 3
OR content.image = 'test.png'
Я попытался с помощью LEFT JOIN
, но не работает. Является ли запрос неправильным?
UPDATE content
LEFT JOIN subcontent on
subcontent.image = content.image
LEFT JOIN products on
products.image = content.image
SET content.image = NULL, subcontent.image = NULL, products.image = NULL
WHERE content.image = 'test.png'
OR subcontent.image = 3
OR products.image = 3
Хм, я рассмотрю 'LEFT JOIN', потому что таблица' content' НИКОГДА не будет пуста. – Draven
Не похоже, что работает 'LEFT JOIN', но я могу сделать это неправильно. Я помещаю запрос в свой оригинальный пост, если вы можете взглянуть. – Draven
@Draven. , , Это, очевидно, не будет делать то, что вы хотите. Поле 'image' похоже содержит строку символов в' content', но число в двух других таблицах. Я бы придерживался трех отдельных запросов. –