我来回答一个,sqlite建多外键出错,Foreign key mismatch xx referencing xx的问题
本帖最后由 heavenm 于 2019-9-25 04:35 编辑:face (23):我已经学会问都不问,直接作答了!
多外键的情况下,每个被引用的父字段都必须为主键
之前查到过这个问题,后面忘记了,结果又搞好久才明白这个道理!我要踩平这个坑!
CREATE TABLE "parent" (
"a" TEXT NOT NULL,
"b" TEXT NOT NULL,
"c" TEXT NOT NULL,
PRIMARY KEY ("a", "b", "c")
);CREATE TABLE "child" (
"1" TEXT NOT NULL,
"2" TEXT,
"3" TEXT,
PRIMARY KEY ("1"),
FOREIGN KEY ("1", "2", "3") REFERENCES "parent" ("a", "b", "c")
);
多主键还会出现一个问题,就是不是按某个单键作为唯一,那么可以加一条
UNIQUE ("唯一键") 不过实际应用的话,一般情况应该都是单外键的 学习一下,学习一下
页:
[1]