找回密码
 加入
搜索
查看: 1546|回复: 3

[AU3基础] 我来回答一个,sqlite建多外键出错,Foreign key mismatch xx referencing xx的问题

  [复制链接]
发表于 2019-9-25 04:01:53 | 显示全部楼层 |阅读模式
本帖最后由 heavenm 于 2019-9-25 04:35 编辑

我已经学会问都不问,直接作答了!

多外键的情况下,每个被引用的父字段都必须为主键

之前查到过这个问题,后面忘记了,结果又搞好久才明白这个道理!我要踩平这个坑!
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")
);

 楼主| 发表于 2019-9-25 04:06:51 | 显示全部楼层
多主键还会出现一个问题,就是不是按某个单键作为唯一,那么可以加一条
UNIQUE ("唯一键")
 楼主| 发表于 2019-9-25 04:40:22 | 显示全部楼层
不过实际应用的话,一般情况应该都是单外键的
发表于 2019-9-25 12:03:44 | 显示全部楼层
学习一下,学习一下
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-12-23 18:12 , Processed in 0.107293 second(s), 19 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表