Это работает, когда у задания есть файлы. Он удаляет записи файлов из таблицы файлов и записи заданий из таблицы заданий, однако, если у задания нет файлов, ничего не происходит. Я хочу, чтобы он по-прежнему удалял запись задания из таблицы заданий, если у задания нет связанных с ним файлов.
DELETE jobs, files FROM jobs INNER JOIN files WHERE jobs.id = $id AND files.jobid = jobs.id
Я пробовал следующее, но это не сработало:
DELETE jobs, files FROM jobs INNER JOIN files WHERE jobs.id = $id OR files.jobid = jobs.id
Также пробовал это, но это не сработало:
DELETE jobs, files FROM jobs INNER JOIN files on jobs.id = files.jobid WHERE jobs.id = $id
РЕДАКТИРОВАТЬ:
вот что получилось. он основан на ответе, отмеченном как правильный ниже, но немного отличается.
DELETE jobs, files FROM jobs LEFT JOIN files ON files.jobid = jobs.id WHERE jobs.id = $id
ему не понравился этот короткий код или что-то в этом роде (когда люди говорят файлы f или задания j, позже они говорят f.jobid или j.id). и, возможно, ему не понравились звезды/звездочки при первом объявлении таблиц (не уверен).