sql - 我在从多个表中删除行时遇到问题
问题描述
我想从几个表中删除所有具有 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';
解决方案
如果您使用 定义了外键ON DELETE CASCADE
,则从 products 表中删除将删除所有关联表中的记录。见https://www.techonthenet.com/oracle/foreign_keys/foreign_delete.php
推荐阅读
- python-3.x - Pandas Groupby 排除缺失的列值
- batch-file - 获取特定进程的 % CPU 和 % MEM 使用率的批处理脚本
- android - 如何在使用导航组件和 safeArgs 从回收器视图导航到片段时添加共享元素转换?
- delphi - 如何在 Delphi 中为 Pascal 安装库?
- java - 关于 Robert Sedgewick 和 Kevin Wayne 在“算法第 4 版”中第 115 页的练习 1.2.9
- sql - 如何修复 ORA-00923:在 oracle 10g 中未找到 FROM 关键字的预期错误
- javascript - 将 Vuex 状态属性设置为对象的问题
- python - 如何使用 python 在底图中绘制地磁赤道,如提及图中所示?
- angular - 从 Angular 中的 httpResponse 正文中分离数据
- python - 如何在张量流中为 nlp 编码文本