На основании этого post это должно работать, но он не работает правильно:SqL обновить таблицу на основе значений объединения из другой таблицы
UPDATE `cms_download`
SET folder_id = '230'
FROM `cms_download` file
LEFT JOIN `cms_download_folder` folder
ON file.folder_id = folder.folder_id
WHERE file.client_id = '69'
AND folder.folder_id = NULL
Что у меня есть таблица файлов (cms_download) который содержит столбец, который ссылается на папку, содержащую этот файл (cms_download_folder). И то, что я пытаюсь сделать, это установить все файлы, у которых нет папки, назначенной им в определенную папку. Я могу знать, что по левому или правому соединению в двух таблицах вместе с идентификатором папки и где эта запись не существует в таблице (cms_download_folder) против записи в (cms_download) таблице, я бы изменил folder_id в (cms_download), чтобы он ссылался на запись, которая существует.
Надеюсь, у меня есть смысл.
Благодаря Гордон, я получил правильный запрос, который:
UPDATE `cms_download` file
LEFT JOIN `cms_download_folder` folder
ON file.folder_id = folder.folder_id
SET file.folder_id = '230'
WHERE file.client_id = '69'
AND folder.folder_id = NULL
Спасибо, однако в этом случае я не нуждался бы в 'ОТ cms_download File'. Я напишу окончательный запрос в своем вопросе, потому что я не могу его правильно отформатировать. –
@NaguibIhab. , , Верный. Это была ошибка копирования и вставки. –