请原谅我的无知,我是数据库约定的第一天初学者。
这是我的SQLite代码:(由我的数据库浏览器自动生成)
CREATE TABLE `ResearchItems` (
`ID` INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT UNIQUE,
`Name` TEXT NOT NULL,
`Description` BLOB NOT NULL,
`PreReq1` INTEGER,
`PreReq2` INTEGER,
`PreReq3` INTEGER);
我打算使用数据库浏览器在数据库中手动插入更新数据。我的目的是 PreReq 字段指向同一数据库中的其他项目。显然,一旦输入它们,我永远不会希望连接因我添加或删除条目而无意中断开。这有保证吗?
另外,我可以添加一些额外的实用程序来包含某种数据验证吗?像 PreReq 值应该只是当前存在的键。
这
听起来好像你想要外键约束:
CREATE TABLE ResearchItems (
ID INTEGER PRIMARY KEY,
Name TEXT NOT NULL,
Description BLOB NOT NULL,
PreReq1 INTEGER REFERENCES OtherTable(PreReqID),
PreReq2 INTEGER REFERENCES OtherTable(PreReqID),
PreReq3 INTEGER REFERENCES OtherTable(PreReqID)
);