4

使用 API SQL 构建器com.healthmarketscience.sqlbuilder

DbForeignKeyConstraint constraint = dbTable.foreignKey("fk_" + tableName + "_" + foreignTableName,
        columnList.toArray(new String[0]),
        foreignTableName,
        foreignColumnList.toArray(new String[0]));

如何设置它constraint以便它执行ON UPDATE CASCADEON DELETE CASCADE

4

2 回答 2

2

据我所知,您使用的库 ( com.healthmarketscience.sqlbuilder) 不允许使用ON UPDATE/DELETE CASCADE. 我检查了代码,但没有实现此功能。

其原因可能是库的作者尚未实现此功能,或者出于某种原因他们不打算实现它。您应该能够使用 a 重现该功能TRIGGER,但图书馆似乎也不支持这些功能。

如果此功能对您的应用程序至关重要,您可能应该切换到允许它的库。

于 2020-02-17T11:23:31.437 回答
0

对于未来的读者,此功能已添加到版本 3.0.1 中的 SQLBuilder。生成ForeignKeyConstraintClause实例后,您可以调用setOnDeleteAction( ReferentialAction.CASCADE) (更新操作也是如此)。

于 2020-09-10T13:46:14.180 回答