在我的项目中,有两个表,orders和order_payments。
后者是一个包含两列的连接表,即order_id和payment_id。
我使用FK并不是为了提高效率。
当我从orders表中删除一些订单时,我需要根据order_id字段从payments表中删除相关记录。
因此,在使用DELETE语句删除订单之后,我希望返回已删除订单的order_id,以便我可以使用它们来检索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();
}但是返回了一个空列表。
我哪里做错了?
提前感谢!
发布于 2020-09-15 15:50:21
我不认为这在MySQL 8.0.21中是可能的:https://bugs.mysql.com/bug.php?id=83139
如果你知道用原生MySQL (不管是什么版本)做这件事的方法,或者以某种方式模拟它,请在这里记录它:https://github.com/jOOQ/jOOQ/issues/6865
https://stackoverflow.com/questions/63893233
复制相似问题