我正在使用代码生成器。我有两张桌子。在一张表中,我有 user_id 和这个 user_id 的几个文档。在第二个表中,有这个 user_id 的文档,但没有 user_id,我必须删除这些文档。请帮忙!
问问题
17 次
1 回答
1
我假设您对要删除其文档的用户有一些标准,而不是外键?只需使用semi-join,您也可以在DELETE
语句中使用它。
假设您的搜索条件类似于username
:
在 SQL 中
DELETE FROM docs
WHERE docs.user_id IN (
SELECT user_id
FROM user
WHERE username = ?
)
在 Java 中
// Assuming the usual static import:
import static org.jooq.impl.DSL.*;
// Then write:
ctx.deleteFrom(DOCS)
.where(DOCS.USER_ID.in(
select(USER.USER_ID)
.from(USER)
.where(USER.USERNAME.eq(username))
))
.execute();
于 2022-03-04T12:42:01.337 回答