我正在使用带有NetBeans的derby db,而我的表遇到了一些麻烦:
我TABLE_A
和TABLE_B
我创建了这样的内容:
CREATE TABLE TABLE_A
(
FIELD_1 varchar(20),
FIELD_2 varchar(50),
FIELD_3 varchar(2),
PRIMARY KEY(FIELD_1,FIELD_2),
)
和
CREATE TABLE TABLE_B
(
FIELD_1 varchar(20),
FIELD_2 varchar(50),
FIELD_3 varchar(20),
FIELD_4 varchar(25),
PRIMARY KEY(FIELD_3),
FOREIGN KEY(???) REFERENCES regioni(FIELD_1,FIELD_2)
)
问题是:当TABLE_B
有两个字段的主键时,如何将TABLE_A
记录链接到另一个TABLE_A
记录?我需要放什么而不是“???”?
谢谢!!!
答案 0 :(得分:2)
只需使用与父PK匹配的所有子列
...
FOREIGN KEY(FIELD_1,FIELD_2) REFERENCES regioni(FIELD_1,FIELD_2)
...
答案 1 :(得分:1)
试试这个,
CONSTRAINT fk_tbl FOREIGN KEY (FIELD_1,FIELD_2)
REFERENCES regioni(FIELD_1,FIELD_2)
超出问题范围,但可能会提供一些信息,为什么命名约束很重要