gpt4 book ai didi

sql - REFERENCES 带或不带 FOREIGN KEY 有什么区别

转载 作者:IT王子 更新时间:2023-10-29 06:28:57 26 4
gpt4 key购买 nike

关于 SQLite,带或不带 FOREIGN KEY 的 REFERENCES 之间有什么区别?

这有什么区别

CREATE TABLE players_set ( 
_id INTEGER PRIMARY KEY AUTOINCREMENT
NOT NULL,
player_id INTEGER REFERENCES players ( _id ) ON DELETE CASCADE,
players_set_id INTEGER REFERENCES players_set_names ( _id )
);

还有这个:

CREATE TABLE players_set ( 
_id INTEGER PRIMARY KEY AUTOINCREMENT
NOT NULL,
player_id INTEGER,
players_set_id INTEGER REFERENCES players_set_names ( _id ),
FOREIGN KEY (player_id) REFERENCES players ( _id ) ON DELETE CASCADE
);

我发现了另一个问题: Difference between using REFERENCES with and without FOREIGN KEY?

我读了the documentation ,但我并没有说清楚。

准确地说,我在 Android 上使用 SQLite(因此是标签)。我不知道这是否有任何区别,但如果它有自己的怪癖,那将对我了解非常有用。

最佳答案

FOREIGN KEY 语法比在列定义中内联定义更灵活(例如,它允许您定义复合外键,其中两个或多个字段的组合应该存在于引用列)。

在您的情况下,两个 DDL 语句之间没有区别。可以说,外键的内联定义只不过是语法糖。

关于sql - REFERENCES 带或不带 FOREIGN KEY 有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21647710/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com