Това работи, когато дадено задание има файлове. Той изтрива файловите записи от таблицата с файлове и записите за задания от таблицата със задания, но ако заданието няма файлове, нищо не се случва. Искам все още да изтрива записа на заданието от таблицата със задания, ако заданието няма файлове, свързани с него.
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). и може да не е харесал звездичките/звездичките при първото деклариране на таблиците (не съм сигурен).