为什么一张表有两个主键字段,就不能与之建立主外键关系

2025-01-04 06:37:27
推荐回答(1个)
回答1:

不知道你怎么创建的, 下面是 一个表有 两个主键字段的例子。

SQL> -- 创建测试主表. ID1,ID2 是主键.
SQL> CREATE TABLE test_main1 (
2 id1 INT,
3 id2 INT,
4 value VARCHAR(10),
5 PRIMARY KEY(id1, id2)
6 );

表已创建。

SQL> -- 创建测试子表.
SQL> CREATE TABLE test_sub1 (
2 id INT,
3 main_id1 INT,
4 main_id2 INT,
5 value VARCHAR(10),
6 PRIMARY KEY(id)
7 );

表已创建。

创建外键语句
SQL> ALTER TABLE test_sub1
2 ADD CONSTRAINT main_id_cons1
3 FOREIGN KEY (main_id1, main_id2) REFERENCES test_main1(id1,id2);

表已更改。