【发布时间】:2022-12-09 10:37:56
【问题描述】:
我刚刚将 h2database 从 1.4.197 升级到 2.1.212,现在我收到一条关于我在运行测试时创建的表之一的错误消息。
错误:
org.h2.jdbc.JdbcSQLSyntaxErrorException: Constraint "PRIMARY KEY | UNIQUE (PID, PARTNER)" not found; SQL statement: ... [90057-212]
状态码:90057
文件:
drop table if exists prov;
create table prov(
id bigint generated by default as identity(start with 1) not null primary key,
pid bigint not null,
parent_id bigint,
partner varchar(255),
constraint unique_uk unique(pid, parent_id, partner),
constraint foreign_fk foreign key (parent_id, partner) references prov(pid, partner)
);
在将 h2 数据库升级到 v2.1.212 之前,此 SQL 文件可以正常工作。 查询应该更改什么?
我从错误中搜索了状态代码,似乎在尝试删除约束时抛出此错误。但我不太确定我是否真的放弃了任何限制。我唯一要删除的是表提供程序(如果存在)。
我对 H2 数据库不是很熟悉。
【问题讨论】:
标签: h2