H2 数据库主键违规

H2 Database Primary Key Violation

我正在尝试使用由 2 个属性组成的主键在 table 上进行插入。但是,当我尝试插入并且主键中的属性之一与已插入的属性相同时,我收到以下错误:

Unique index or primary key violation: "CONSTRAINT_INDEX_CCC ON PUBLIC.ABWESENHEIT(DATUM) VALUES

这是我的 table:

Create TABLE Abwesenheit (

    s_id INTEGER NOT NULL REFERENCES Schueler(id) ON DELETE CASCADE,
    entschuldigt BOOLEAN DEFAULT FALSE,
    datum TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    kommentar VARCHAR(40),
    kalendereintrag_id VARCHAR(40) REFERENCES Schoolsubject(name) ON DELETE CASCADE,
    deleted BOOLEAN DEFAULT FALSE,
    PRIMARY KEY (s_id,datum)

);

这里有 2 个重现问题的插入:

insert into Abwesenheit (s_id, entschuldigt, kommentar,datum,kalendereintrag_id) values (1,'false','','2015-12-21 11:59:00.0','Geschichte');
insert into Abwesenheit (s_id, entschuldigt, kommentar,datum,kalendereintrag_id) values (2,'false','','2015-12-21 11:59:00.0','Geschichte');

即使 "datum" 属性默认为 CURRENT_TIMESTAMP,我也需要能够插入自定义时间戳(即追溯条目) .

考虑到 "s_id" 在两个插入中不同,它们应该可以工作。然而他们没有。关于可能导致问题的原因有什么想法吗?

提前致谢!

问题是由另一个 table 引起的,它引用了我的 table,假设 table Abwesenheit 中的日期是唯一的。