使用api sql builder com.healthmarketscience.sqlbuilder
.
DbForeignKeyConstraint constraint = dbTable.foreignKey("fk_" + tableName + "_" + foreignTableName,
columnList.toArray(new String[0]),
foreignTableName,
foreignColumnList.toArray(new String[0]));
如何设置 constraint
所以它是这样的 ON UPDATE CASCADE
以及 ON DELETE CASCADE
?
2条答案
按热度按时间rqcrx0a61#
据我所知,你正在使用的图书馆(
com.healthmarketscience.sqlbuilder
)不允许用声明外键约束ON UPDATE/DELETE CASCADE
. 我已经检查了代码,但是这个功能没有实现。原因可能是库的作者还没有实现这个功能,或者出于某种原因他们不打算实现它。您应该能够用
TRIGGER
但是图书馆似乎也不支持这些。如果此功能对应用程序至关重要,您可能应该切换到允许它的库。
w8biq8rn2#
对于未来的读者,此功能已添加到版本3.0.1中的sqlbuilder中。一旦生成
ForeignKeyConstraintClause
例如,你可以打电话setOnDeleteAction
(ReferentialAction.CASCADE
)(更新操作也是如此)。