首页 > 解决方案 > 我在从多个表中删除行时遇到问题

问题描述

我想从几个表中删除所有具有 productid = 'value' 的行,所以我尝试在它们之间加入但给了我一个错误

sql 命令未正确结束

所以我在问这是否真的可以工作,如果不能,任何人都可以告诉我我应该怎么做这样的事情?

    DELETE FROM 
      products, products_admin, products_category, products_seller, categories
    USING 
      products 
    JOIN 
      products_admin ON products_admin.productid = products.productid 
    JOIN 
      products_category ON products_category.productid = products.productid 
    JOIN
      products_seller on products_seller.productid = products.productid
    JOIN 
      categories on categories.productsid = products.productid
    WHERE 
      products.productid = 'value';

这是我尝试过的

标签: sqloracle

解决方案


如果您使用 定义了外键ON DELETE CASCADE,则从 products 表中删除将删除所有关联表中的记录。见https://www.techonthenet.com/oracle/foreign_keys/foreign_delete.php


推荐阅读