FROMが行を削除するテーブル名の前または後に使用される構文の違いがあります。これらは、両方のテーブルからエントリを削除するために働く必要があります。テーブル名の後のFROM使用
:
テーブル名の前から使用して
DELETE JB_Employer, JB_Jobseeker
FROM JB_Employer INNER JOIN JB_Jobseeker ON JB_Employer.Username = JB_Jobseeker.User_Name
WHERE JB_Employer.Username= '$userName';
:
DELETE FROM JB_Employer, JB_Jobseeker
USING JB_Employer INNER JOIN JB_Jobseeker ON JB_Employer.Username = JB_Jobseeker.User_Name
WHERE JB_Employer.Username= '$userName';
EDIT 1
以下のセクションでは、両方のテーブルまたはいずれかのテーブルからエントリを削除するためのクエリについて説明します。テーブル名の後のFROM使用
:
DELETE JB_Employer, JB_Jobseeker
FROM JB_Employer
LEFT JOIN JB_Jobseeker ON JB_Employer.Username = JB_Jobseeker.User_Name
WHERE JB_Employer.Username= '$userName';
テーブル名の前から使用:
DELETE FROM JB_Employer, JB_Jobseeker
USING JB_Employer
LEFT JOIN JB_Jobseeker ON JB_Employer.Username = JB_Jobseeker.User_Name
WHERE JB_Employer.Username= '$userName';
は、それが作品を願って!
これはエラーを発生させませんか? User_nameのフィールドがJB_Employer上に存在しないので... – Kristian
はたぶん、あなたはこれを行うことができます: 'WHERE JB_Employer.Username =「$ userNameに」OR JB_Jobseeker.User_Name = '$ userName'' – Kristian
あなたはマルチ表がDELETE検討したいと思います構文:http://dev.mysql.com/doc/refman/5.0/en/delete.html – webbiedave