用一个查询从两个表中删除数据? [复制]

Posted

技术标签:

【中文标题】用一个查询从两个表中删除数据? [复制]【英文标题】:Delete data from two tables with one query? [duplicate] 【发布时间】:2013-05-09 20:54:17 【问题描述】:

我想从两个表中删除数据:

类似这样的:

$rez = mysql_query("delete from slike where slike_id='$del' or delete from foto where foto_id='$del'");

我该怎么做?谢谢。

【问题讨论】:

***.com/questions/1233451/… 是的,你可以。创建一个存储过程并调用它! 但是情况很小,我有一个列表,我从表中选择数据并将它们都显示到列表中,我现在想要当我按删除从列表中删除一些选定的值时...跨度> 这不起作用 $del = $_POST['list']; $rez = mysql_query("从 slike 中删除 where slike_id='$del';从 foto 中删除,其中 foto_id=$del"); 我需要像“或”这样的东西,如果两个查询中的一些是可能的,那么运行它... 【参考方案1】:

你应该先搜索你在问什么..

DELETE  FROM slike  INNER JOIN foto on  slike.slike_id= foto.foto_id where slike.slike_id='$del'

【讨论】:

【参考方案2】:

我认为这是不可能的,除非你使用 MySQL triggers 或 relation between columns。

【讨论】:

根据sql_query它有一个关系slike_id = foto_id。 已解决,我删除 foto 表,然后在 slike 表中添加新列,并将所有列设置为允许为空。【参考方案3】:
$rez = mysql_query("DELETE FROM slike WHERE slike_id='$del' AND TRUE=DELETE FROM foto WHERE foto_id='$del'");

【讨论】:

以上是关于用一个查询从两个表中删除数据? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

如何在单个查询中从两个表中删除数据

使用 INNER JOIN 从两个表中删除数据

如何删除两个excel表中的重复数据

sql查询一个表不包含另一个表的数据,两种方法。

从同一查询中的两个表中删除 NULL 行[重复]

如何将数据从一个表复制到另一个表,然后使用 Java 删除第一个表中的数据?