【发布时间】:2012-04-20 19:46:50
【问题描述】:
我目前有一个父表:
CREATE TABLE members (
member_id SERIAL NOT NULL, UNIQUE, PRIMARY KEY
first_name varchar(20)
last_name varchar(20)
address address (composite type)
contact_numbers varchar(11)[3]
date_joined date
type varchar(5)
);
还有两个相关的表:
CREATE TABLE basic_member (
activities varchar[3]) // can only have 3 max activites
INHERITS (members)
);
CREATE TABLE full_member (
activities varchar[]) // can 0 to many activities
INHERITS (members)
);
我还有一张桌子:
CREATE TABLE planner (
day varchar(9) FOREIGN KEY REFERENCES days(day)
time varchar(5) FOREIGN KEY REFERENCES times(time)
activity varchar(20) FOREIGN KEY REFERENCES activities(activity)
member bigint FOREIGN KEY REFERENCES members(member_id)
);
ALTER TABLE planner ADD CONSTRAINT pk_planner PRIMARKY KEY (day,time,activity,member);
我目前正在尝试添加
INSERT INTO planner VALUES ('monday','09:00','Weights',2);
我已经在 full_members 中添加了一个集合
INSERT INTO full_members
VALUES (Default, 'Hayley', 'Sargent', (12,'Forest Road','Mansfield','Nottinghamshire','NG219DX'),'{01623485764,07789485763,01645586754}',20120418,'Full');
我在 Planner 中的插入目前无法正常工作 - 您能解释一下原因吗?
【问题讨论】:
-
与您的其他问题的评论相同:请向我们展示您尝试运行的完整
CREATE TABLE和INSERTs。 -
欢迎使用 StackOverflow:如果您发布代码、XML 或数据示例,请在文本编辑器中突出显示这些行并单击“代码示例”按钮 (
{ }) 在编辑器工具栏上以很好地格式化和语法突出显示它! -
您在插入 Planner 时遇到什么错误?是日期、时间或活动上的 FK 参考失败 - 还是成员编号?海莉萨金特的成员是 2 号吗?另外,您确定日期和时间最好用 VARCHAR 表示,而不是使用正确的 DATE 和 TIME 类型?
标签: postgresql inheritance foreign-keys primary-key