java - 在 Jooq 中,如何让“delete”语句返回被删除的记录?
问题描述
在我的项目中,有 2 个表,orders
并且order_payments
.
后者是一个有 2 列的连接表,order_id
并且payment_id
.
为了效率,我没有使用 FK。
当我从表中删除一些订单时orders
,我需要payments
根据order_id
字段从表中删除相关记录。
所以,在使用DELETE语句删除订单后,我希望将order_id
已删除订单的s返回,这样我就可以使用它们来检索order_payments
表并删除相关记录。
有人可以教我怎么做吗?
我试过
private List<OrdersRecord> deleteOrders(OrderQuery orderQuery, DSLContext dsl) {
DeleteQuery<OrdersRecord> deleteQuery = dsl.deleteQuery(ORDERS);
deleteQuery.addConditions(orderQueryConditions(orderQuery));
deleteQuery.setReturning();
deleteQuery.execute();
return deleteQuery.getReturnedRecords();
}
但返回了一个空列表。
我哪里做错了?
提前致谢!
解决方案
我认为这在 MySQL 8.0.21 中还不可能: https ://bugs.mysql.com/bug.php?id=83139
如果您知道使用本机 MySQL(无论版本)执行此操作的方法,或者以某种方式模拟它,请在此处记录:https ://github.com/jOOQ/jOOQ/issues/6865
推荐阅读
- azure - 尽管未达到限制,但 Azure 存储帐户请求仍受到限制
- javascript - Firebase PhoneAuthentication 不返回验证码
- wordpress - 在 Wordpress 中加载 jquery 库和 jquery 脚本
- powershell - 批处理脚本中的多行powershell函数
- c# - 根据 viewbag 中的值显示一组复选框
- python - 用熊猫计算事件之间的持续时间
- azure-application-insights - 在 Microsoft Azure 中,如何在 api 策略中检索 operationid (of applicationInsights)
- c# - c# 中 iText7 上的“ShowTextAligned”错误
- python - Python:ldap 属性错误
- extjs - 在 ExtJS 中自定义日期过滤器菜单