我有 3 张桌子;产品、变体和库存{简化}
PRODUCTS id 名称已停用(ENUM:0 或 1)等
VARIANTS id product_id 颜色大小
STOCK id variant_id branch_id
当用户选择停止产品时,我将停止标志设置为 1。这很好,但如果没有产品的 STOCK 记录,我想完全删除 PRODUCT 和 VARIANTS 记录。显然,我可以先在 PHP 中使用 SELECT 查询来做到这一点,但我想在一个 mySQL 查询中做到这一点。这是我到目前为止所拥有的,但它从 mySQL 返回一个错误:
$query = "DELETE FROM prod_lines,
JOIN variants ON variants.lineid = prod_lines.id
WHERE prod_lines.id = '$lineid' AND
(SELECT COUNT(id) FROM stock WHERE stock.variantid = variants.id) = 0";
有人可以帮我想出正确的解决方案吗?也许有更好的方法甚至不涉及子查询?
提前致谢