Mysql 从两个表中删除(查看数据是否存在)

Mysql 从两个表中删除(查看数据是否存在),mysql,Mysql,在一次查询中删除两个表中的数据时遇到问题。 我发现了几个类似的线程,但没有一个具有与我相同的核心问题 那么,这有什么不同呢 目标:我需要帮助,了解如何从我的项目数据库中删除所有项目数据,以及小时数据库中最终附加的所有小时数 对于我当前的查询,只有在项目和小时数据库中找到匹配项时,它才会删除。那么,我怎样才能按照上面的要求删除所有数据呢 现在,我的查询如下所示: DELETE hours, projects FROM hours INNER JOIN projects WHERE hours

在一次查询中删除两个表中的数据时遇到问题。 我发现了几个类似的线程,但没有一个具有与我相同的核心问题

那么,这有什么不同呢

目标:我需要帮助,了解如何从我的
项目
数据库中删除所有项目数据,以及
小时
数据库中最终附加的所有小时数

对于我当前的查询,只有在
项目
小时
数据库中找到匹配项时,它才会删除。那么,我怎样才能按照上面的要求删除所有数据呢

现在,我的查询如下所示:

DELETE hours, projects
FROM hours 
INNER JOIN projects  
WHERE hours.projecthours_id= projects.project_id and hours.projecthours_id = ".$mysqli->real_escape_string($_GET['id']).";
这是我的两个表(示例数据和表):


尝试左外部联接而不是内部联接,然后
其中
转到上的

试试这个

DELETE hours, projects
FROM hours 
LEFT OUTER JOIN projects on hours.projecthours_id= projects.project_id
WHERE hours.projecthours_id = ".$mysqli->real_escape_string($_GET['id']).";

尝试左外部联接而不是内部联接,然后
其中
转到
上的

试试这个

DELETE hours, projects
FROM hours 
LEFT OUTER JOIN projects on hours.projecthours_id= projects.project_id
WHERE hours.projecthours_id = ".$mysqli->real_escape_string($_GET['id']).";
  • 使用
    左连接
    而不是
    内部连接
  • 另外,您的
    where
    条件应为
    项目.project\u id
    而不是
    小时.projecthours\u id
    ,因为您正试图从
    项目
    表中删除所有项目
尝试:

  • 使用
    左连接
    而不是
    内部连接
  • 另外,您的
    where
    条件应为
    项目.project\u id
    而不是
    小时.projecthours\u id
    ,因为您正试图从
    项目
    表中删除所有项目
尝试:


一个问题都没能解决。 因此,将它们作为两个独立的对象

$query = "DELETE FROM hours WHERE hours.projecthours_id = ".$mysqli->real_escape_string($_GET['id'])."";

$mysqli->query($query);
$query = "DELETE FROM projects WHERE projects.project_id = ".$mysqli->real_escape_string($_GET['id'])."";

一个问题都没能解决。 因此,将它们作为两个独立的对象

$query = "DELETE FROM hours WHERE hours.projecthours_id = ".$mysqli->real_escape_string($_GET['id'])."";

$mysqli->query($query);
$query = "DELETE FROM projects WHERE projects.project_id = ".$mysqli->real_escape_string($_GET['id'])."";