【发布时间】:2011-03-20 20:43:28
【问题描述】:
我有一个由超类型表和子类型表构成的数据库,如下所示:
EVENT
PatientId INTEGER,
DateTime TEXT,
EventTypeCode TEXT,
PRIMARY KEY( PatientId, DateTime, EventTypeCode )
不同类型的事件有自己的表,并且具有相同的主键,只是它是外来的。
EXERCISE
PatientId INTEGER,
DateTime TEXT,
EventTypeCode TEXT,
PRIMARY KEY( PatientId, DateTime, EventTypeCode ) ON CONFLICT IGNORE,
CONSTRAINT "PrimaryKey" FOREIGN KEY ("PatientId", "EventTypeCode", "DateTime") REFERENCES "Event" ("PatientId", "EventTypeCode", "DateTime") ON DELETE CASCADE ON UPDATE CASCADE
当我尝试在事件中删除一个条目时,我得到一个外键不匹配,当我在练习中删除它时它会删除,但在练习中 仅.. 它不会级联。我需要做什么才能使级联正常工作?我宁愿删除 Event 中的条目并将其级联到Exercise..从我看到的示例中看起来它应该如何工作......
【问题讨论】:
标签: sqlite foreign-keys relational-database cascading-deletes compound-key