mysql - MySQL 使用 JOINS 和 LIMIT 删除
问题描述
我想分块删除,因此尝试将 LIMIT 与 JOINS 一起使用。下面的代码没有执行抛出错误。大约有 900+ 百万行需要删除。这是在带有 InnoDB 引擎的 MYSQL 5.7 上
有人可以帮忙吗?
DELETE a
FROM order_item_custom_data a
JOIN (
SELECT oicd.* FROM order_item_custom_data oicd JOIN order o
ON oicd.mfg_id = o.mfg_id AND oicd.catalog_id = o.catalog_id AND
ocid.catalog_id = o.order_id
WHERE o.order_date < '2020-01-01 00:00:00'
ORDER BY oicd.order_item_custom_data_id
LIMIT 100000;
) b ON a.mfg_id = b.mfg_id;
解决方案
推荐阅读
- spring-boot - 使用 SpringJPA 在 SPRINGBOOT 中休眠之前执行 Liquibase
- c - KDevelop 函数弃用警告
- c# - c# WebConfig App设置与十六进制值
- typescript - 在 Typescript 中扩展多个接口或创建新类(多态)
- javascript - 简化强制IE11在谷歌浏览器中打开链接的JS
- javascript - 反应:组件无法识别功能
- c - 如何只获取c中函数的返回值?
- json - ReSharper JSON 禁用自动格式化
- javascript - 使用 SAP Cloud SDK JavaScript 的 API_BILL_OF_MATERIAL_SRV 版本 2 的 MaterialBOMItem 的空键字段
- angular - 运行 Karma 规范时,CircleCi 随机断开与浏览器的连接