MySQL:从不同的表中删除表行

时间:2014-02-26 14:16:44

标签: php mysql database

我想从MySQL数据库表中删除一行

SQL查询:

DELETE FROM students WHERE tutor_availability = student_availability;

tutor_availabilty包含在另一个名为tutors的表中。可能值得注意的是我正在使用xampp。想知道是否有人可以帮我这个?

2 个答案:

答案 0 :(得分:2)

根据您实际尝试删除的内容以及记录的相关性,您可能希望使用IN而不是JOIN。这也可能更容易想象。

例如:

DELETE FROM students where student_availability 
IN (Select tutor_availability FROM tutors)

这是对JOIN和IN的一个很好的解释:

SQL JOIN vs IN performance?

答案 1 :(得分:0)

这里没有全面了解,但在阅读了10次之后,我认为你有以下结构

  • 表格 - Stutends(id,student_avaliability,tutor_id ......)
  • 导师(id,tutor_avaliability,......)

所以,你可能想试试这个:

“DELETE FROM students WHERE students.student_availability = tutors.tutor_availability INNER JOIN tutors ON(students.tutor_id = tutors.id)”