PHP / MySQL在具有内部联接的多行上进行DELETE

时间:2015-04-25 21:53:07

标签: php mysql sql-delete

我目前正在开发一个网站作为学校项目。我在尝试删除数据库中的多行时遇到了问题,这是查询:

$dbh->query("DELETE FROM ENSEIGNE E INNER JOIN COURS C ON C.ID_COURS = E.ID_COURS WHERE E.ID_PROF = '$id_prof' and C.ID_MATIERE = '$matt' ");

$id_prof$matt可以替换为低于5的数字。

这两个表只有两列:

  • ENSEIGNE有ID_PROF和ID_COURS
  • COURS有ID_COURS和ID_MATIERE

我的问题是我在运行此命令时收到错误1064,并且在更改查询3小时后我仍然没有发现问题。

1 个答案:

答案 0 :(得分:0)

如果您只想从ENSEIGNE删除,则查询将

DELETE E 
FROM ENSEIGNE E 
INNER JOIN COURS C ON C.ID_COURS = E.ID_COURS 
WHERE E.ID_PROF = '$id_prof' 
and C.ID_MATIERE = '$matt'

并从两个表中删除

DELETE E , C
FROM ENSEIGNE E 
INNER JOIN COURS C ON C.ID_COURS = E.ID_COURS 
WHERE E.ID_PROF = '$id_prof' 
and C.ID_MATIERE = '$matt'
相关问题