sqlite - SQLite 错误外键不匹配 - 股票引用变体
问题描述
当我尝试从表 Products 中删除所有内容时,我在标题 SQLite Error 1 中收到错误消息:
外键不匹配 - “Stock”引用“Variants”
这是我的表格定义
CREATE TABLE Products ( Codart TEXT NOT NULL, Descri TEXT NOT NULL,...
CONSTRAINT PK_Products PRIMARY KEY(Codart) )
CREATE TABLE Variants ( Codart TEXT NOT NULL, Codvar TEXT NOT NULL,
CONSTRAINT PK_Variants PRIMARY KEY(Codart, Codvar),
CONSTRAINT FK_Products FOREIGN KEY (Codart) REFERENCES Products(Codart) ON DELETE CASCADE )
CREATE TABLE Stock (Year int not null, Codart text NOT NULL, Codvar text NOT NULL, Qty real NOT NULL,
CONSTRAINT PK_Stock PRIMARY KEY(`Year`,`Codart`,`Codvar`),
CONSTRAINT FK_Products FOREIGN KEY (Codart) REFERENCES Products(Codart) ON DELETE CASCADE,
CONSTRAINT FK_Variants FOREIGN KEY (Codvar) REFERENCES Variants(Codvar) ON DELETE CASCADE )
问题是当我尝试运行“从产品中删除”时出现上面的错误
解决方案
上Stock
,试试
CONSTRAINT FK_Variants FOREIGN KEY (Codart,Codvar) REFERENCES Variants(Codart,Codvar) ON DELETE CASCADE
推荐阅读
- java - 当对象进行不存在的方法调用时,如何在单元测试中调用模拟反射api方法?
- c - 切换案例和每个案例一个全局变量
- rest - 用于“重置为默认值”操作的 REST API 设计
- quasar-framework - 禁用 Quasar 的默认 CSS
- node.js - 从命令行调用的可执行文件获取输出
- android-activity - 所需类型 Context 在 android 中提供了 android.content.Context
- api - 我的 API 内容未在 Flutter 中显示
- cordova-plugins - 错误:类型 CodePush 没有 'ɵmod' 属性
- api - Svelte/Sapper fetch/this.fetch 未在服务器端 API 中定义
- javascript - 单击指向外部站点的链接时,如何将当前 url 参数添加到 an 的 href