我有两个MySQL表,一个是字段Username,另一个是User_Name,是否可以在其中一个表中找到记录并删除它?我尝试过以下但它没有用......
DELETE FROM JB_Employer, JB_Jobseeker WHERE Username='$userName' OR User_Name='$userName'
我觉得我好像缺少一些明显的东西......
感谢。 启
答案 0 :(得分:1)
在要从中删除行的表名之前或之后使用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';
在表名前使用FROM:
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';
编辑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';
在表名前使用FROM:
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';
希望它有效!