我有一张桌子上有这样的一栏:
FOREIGN KEY("StorageFk") REFERENCES "Storage"("StoragePk") ON DELETE RESTRICT
当我使用"DB Browser (SQLite)“时,我不能删除由这个外键引用的行,这正是我想要的。但是,当我在我的node.js应用程序中运行这个查询时:
DELETE FROM Storage WHERE StoragePk is $1
($1是占位符)行将被删除。之后,当我打开DB浏览器时,它会通知我一些外键指向一个不存在的行。
这怎麽可能?
我的完整代码是:
db.run('DELETE FROM Storage WHERE StoragePk is ?', storageId, function (err) {
const changes = this.changes;
db.close(() => {
if (err) {
reject(err);
}
else if (!changes) {
reject(`Could not find Storage with id ${storageId}.`);
}
else {
resolve('OK');
}
});
});
当我将其称为引用行的storageId
时,这将解析为“OK”。
发布于 2019-04-10 01:35:21
https://stackoverflow.com/questions/55608357
复制相似问题