当前位置:  开发笔记 > 数据库 > 正文

Postgres创建一个带有外键数组的表

如何解决《Postgres创建一个带有外键数组的表》经验,为你挑选了1个好方法。

我正在制作一个名为"routes"的表.我希望它能够包含一个航班列表.航班的详细信息在航班表中.我希望"航班"成为航班表中的一系列外键ID.所以,我有这个代码:

CREATE TABLE routes (
id SERIAL PRIMARY KEY,
flight integer[] ELEMENT REFERENCES flights,
user CHARACTER VARYING(50)
);

但是,它给出了错误:

ERROR:  syntax error at or near "ELEMENT"
LINE 2:     id SERIAL PRIMARY KEY, flight integer[] ELEMENT REFERENC...

我正在使用psql(9.3.10)

我使用过这个:http: //blog.2ndquadrant.com/postgresql-9-3-development-array-element-foreign-keys/作为参考,但是当我复制该语法时,它会给出这个错误.

这是我用作参考的语法:

CREATE TABLE races (
   race_id integer PRIMARY KEY,
   title text,
   race_day DATE,
   ...
   practice1_positions integer[] ELEMENT REFERENCES drivers,
   practice2_positions integer[] ELEMENT REFERENCES drivers,
   practice3_positions integer[] ELEMENT REFERENCES drivers,
   qualifying_positions integer[] ELEMENT REFERENCES drivers,
   final_positions integer[] ELEMENT REFERENCES drivers
);

Jakub Kania.. 6

你链接到的博客显然只是一个为9.3提出的补丁.它没有进入9.3和9.4您可以梳理邮件列表并尝试自己修补您的安装,或者您只需更改您的架构.

如果您想了解该功能发生的详细信息,您可能应该邮寄作者.



1> Jakub Kania..:

你链接到的博客显然只是一个为9.3提出的补丁.它没有进入9.3和9.4您可以梳理邮件列表并尝试自己修补您的安装,或者您只需更改您的架构.

如果您想了解该功能发生的详细信息,您可能应该邮寄作者.


违反1NF有一个缺点:例如:在{update,delete} +上加上相关的无法创建索引(或UNIQUE约束......)的相关问题很难使FK可级联.数组元素.
推荐阅读
惬听风吟jyy_802
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有