【发布时间】:2020-09-17 18:03:21
【问题描述】:
我正在使用 sqlite3。 我有一个“货币”表和两个使用外键引用货币表的表,如下所示:
CREATE TABLE currencies (
currency TEXT NOT NULL PRIMARY KEY
);
CREATE TABLE table1 (
currency TEXT NOT NULL PRIMARY KEY,
FOREIGN KEY(currency)
REFERENCES currencies(currency)
);
CREATE TABLE table2 (
currency TEXT NOT NULL PRIMARY KEY,
FOREIGN KEY(currency)
REFERENCES currencies(currency)
);
我想确保“货币”表中未被“table1”和“table2”中的任何行引用的行将被自动删除。这应该表现得像某种引用计数的对象。当引用计数达到零时,应删除“货币”表中的相关行。
解决这个问题的“SQL方式”是什么?
如果可以带来优雅的解决方案,我愿意重新设计我的表格。 我更喜欢避免需要应用程序方面额外工作的解决方案,或者需要定期清理的解决方案。
【问题讨论】:
标签: sql database sqlite database-design