在使用引用时,可以在PostgreSQL中省略FOREIGN KEY吗?

问题描述 投票:0回答:2

我想知道这两个SQL语句之间是否有任何(也许微妙的)区别:

CREATE TABLE profiles (
    profile_id SERIAL PRIMARY KEY NOT NULL,
    bio TEXT,
    user_id INTEGER NOT NULL,
    FOREIGN KEY (user_id) REFERENCES users(user_id)
);

CREATE TABLE profiles (
    profile_id SERIAL PRIMARY KEY NOT NULL,
    bio TEXT,
    user_id INTEGER NOT NULL REFERENCES users(user_id) 
);

[我已经注意到,当我在Postico中使用第一种符号创建表时,但是稍后查看创建的profiles表的DDL时,FOREIGN KEY被删除,并且我得到了较短的第二种符号。

使用FOREIGN KEY创建表]:

“”

DDL视图不显示FOREIGN KEY

“”

因此,我想知道(并寻求确认)这两个语句实际上是100%等效的,或者它们对数据库所做的操作是否存在细微的差异。

任何指向官方资源的指针(也许还有它与MySQL的区别)。

我想知道这两个SQL语句之间是否有任何(也许是微妙的)区别:CREATE TABLE配置文件(profile_id SERIAL PRIMARY KEY NOT NULL,bio TEXT,user_id INTEGER NOT NULL,...

sql postgresql foreign-keys
2个回答
0
投票

在PostgreSQL中,通过外键约束定义外键。外键约束指示子表中的一列或一组列中的值与父表的一列或一组列中的值匹配。我们说外键约束可以维护子表和父表之间的参照完整性。


0
投票

DDL视图不显示外键

© www.soinside.com 2019 - 2024. All rights reserved.