我有一个应用程序可以根据需要在格式更改时创建其表。当表没有通过简单的功能测试时,它们将被删除并重新创建。到目前为止效果很好,但现在我改变了一些约束:我改变了一个主键并添加了一个外键。
现在 drop 失败,但有异常:
org.h2.jdbc.JdbcSQLException: Constraint "PERSON_ID" not found; SQL statement:
alter table "GARDEN" drop constraint "PERSON_ID" [90057-178]
drop语句如下:
alter table "GARDEN" drop constraint "PERSON_ID"
alter table "GARDEN" drop constraint "PRIMARY_KEY"
drop table "GARDEN"
问题是这个 drop 语句对所需的表格式有效,但对之前使用的格式无效(这是被检测为不可用并触发删除的表格式)。
如何在不考虑约束的情况下删除表?(我总是删除所有相关的表 - 因此在这种情况下我不需要约束检查)