【发布时间】:2017-06-15 17:40:08
【问题描述】:
我有一个问题,我有一个产品类别。我的问题是,如果类别为空且没有产品,我如何从数据库中删除类别。
我的代码:
$sql = "DELETE
FROM category AS a
INNER JOIN products AS b
ON a.cat_id = b.cat_id
WHERE a.user_id = ?
AND a.cat_id = ? LIMIT 1";
【问题讨论】:
我有一个问题,我有一个产品类别。我的问题是,如果类别为空且没有产品,我如何从数据库中删除类别。
我的代码:
$sql = "DELETE
FROM category AS a
INNER JOIN products AS b
ON a.cat_id = b.cat_id
WHERE a.user_id = ?
AND a.cat_id = ? LIMIT 1";
【问题讨论】:
DELETE FROM category AS a
Where a.cat_id = ?
And not exists(
Select 1
From products p
Where p.cat_id = a.cat_id
);
这个查询匹配我在绑定变量上的猫,并过滤掉那些有相应产品的猫。
【讨论】:
我会使用not exists 运算符来查找products 表中[不] 的类别:
DELETE
FROM category c
WHERE NOT EXISTS (SELECT *
FROM products p
WHERE c.cat_id = p.cat_id);
【讨论】: