从两个表中查找和删除一条记录?MySQL-PHP
我有两个MySQL表,一个是用户名,另一个是用户名,是否可以在其中一个表中找到一条记录并将其删除?我试过下面的方法,但没用从两个表中查找和删除一条记录?MySQL-PHP,php,mysql,Php,Mysql,我有两个MySQL表,一个是用户名,另一个是用户名,是否可以在其中一个表中找到一条记录并将其删除?我试过下面的方法,但没用 DELETE FROM JB_Employer, JB_Jobseeker WHERE Username='$userName' OR User_Name='$userName' 我觉得我好像错过了什么明显的东西 谢谢。 Kai在要删除行的表名之前或之后使用FROM时,语法会有所不同。从两个表中删除条目时,应使用以下方法: 在表名称后使用FROM: DELETE JB_E
DELETE FROM JB_Employer, JB_Jobseeker WHERE Username='$userName' OR User_Name='$userName'
我觉得我好像错过了什么明显的东西
谢谢。
Kai在要删除行的表名之前或之后使用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';
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';
在表名称之前使用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';
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';
编辑1
下一节解释了从两个表或其中一个表中删除条目的查询
在表名称后使用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';
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';
在表名称之前使用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';
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';
希望它能起作用 这不是一个错误吗?因为用户名字段在JB_Employer上不存在。也许您可以这样做:
WHERE JB_Employer.Username='$Username'或JB_jobseker.User_name='$Username'
您需要查看多表删除语法:尝试将表名放入WHERE子句中?试试@Kristian说的。我本来想回答的,但我不想抢克里斯蒂安的风头。它可能不起作用,但可能不起作用。恐怕它不起作用,我使用了一个我知道存在的记录(test)对它进行了测试,结果出现了以下错误:您的SQL语法中有一个错误;检查与您的MySQL服务器版本对应的手册,了解在第1行“WHERE JB_Employer.Username=”test“附近使用的正确语法,分号位于错误的位置。你能修一下吗?请查看更新的查询。您好,我更改了查询并再次尝试,它运行时没有错误,但在使用我知道存在的记录后,它没有返回任何记录:\嗯,我没听懂。这是一个删除查询,它不应该返回任何记录,我的意思是它没有删除任何记录。这是它返回的内容:0行已删除。(查询耗时0.0025秒)