0

我一直在试图弄清楚如何从数据库中的多个表中删除数据。只是为了提供一些背景知识,有一个用户表,其中包含名字和姓氏等基本信息。然后是一个包含密码和用户名的登录表。我正在制作一个管理页面,允许我查看包含两个表中信息的用户列表。那部分工作正常。我的问题是尝试创建删除脚本。我尝试进行单独的查询,但我一无所获。有人可以给我一些方向吗?或者至少在某个地方我可以专门阅读这个?

// Get IDs
$lid = $_POST['lid'];
$uid = $_POST['uid'];

// Delete the product from the database
require_once('database.php');

$query = "DELETE user,login FROM user INNER JOIN login ON user.uid = '$uid' AND login.lid= '$lid'";
 $db->exec($query);
4

2 回答 2

2

添加一个外键,然后在您的列定义中使用 ON DELETE CASCADE 这将在删除父行时负责删除子行

于 2012-04-26T23:45:41.223 回答
0

是否可以在单个 DML 语句中执行此操作将取决于数据库(以及可能存在哪些约束)。不过,更简单的选择通常是使用两个 DML 语句来执行类似的操作。

$query = "DELETE FROM user WHERE user.uid = '$uid'";
$db->exec($query);
$query = "DELETE FROM login WHERE login.lid= '$lid'";
$db->exec($query);
于 2012-04-26T23:46:11.230 回答