【问题标题】:Creating foreign key on same table SQLite在同一张表 SQLite 上创建外键
【发布时间】:2013-04-12 09:01:47
【问题描述】:

最近我开始使用 SQLite(根据我的学习需要),我遇到了 SQLite 的一些限制,我想知道:SQLite 不能在同一张表上创建外键吗?例如。这是我的代码:

CREATE TABLE Categories
(
    name varchar(20),
    parent_category varchar(20) NULL,
    PRIMARY KEY(name),
    FOREIGN KEY parent_category_fk(parent_category) REFERENCES Categories(name)
)

但是当我尝试在 SQLiteStudio 中执行 SQL 时,它给了我一个外键错误。

有人知道为什么这不起作用吗?

【问题讨论】:

    标签: sqlite foreign-keys ddl


    【解决方案1】:

    问题是您的 FK 子句语法错误。应该是:

    FOREIGN KEY (parent_category) REFERENCES Categories(name)
    

    如果要命名 FK 约束,请使用 CONSTRAINT 关键字的前缀,如下所示:

    CONSTRAINT parent_category_fk FOREIGN KEY (parent_category) REFERENCES Categories(name)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-12-17
      • 2013-08-28
      • 1970-01-01
      • 2019-02-20
      • 1970-01-01
      • 2014-09-26
      • 2016-11-18
      • 1970-01-01
      相关资源
      最近更新 更多