我是一个初学者学习sql和有困难实现这个概念。
假设您创建以下三个表:
CREATE TABLE dogOwner(
ownerNo VARCHAR(8) CONSTRAINT ownerNo_pk1 PRIMARY KEY,
ownerName VARCHAR(10)
);
CREATE TABLE catOwner(
ownerNo VARCHAR(8) CONSTRAINT ownerNo_pk2 PRIMARY KEY,
ownerName VARCHAR(10)
);
CREATE TABLE petsAdopted(
petNo VARCHAR(8) CONSTRAINT petNo_pk PRIMARY KEY,
ownerNo VARCHAR(8) CONSTRAINT ownerNo_fk1 REFERENCES dogOwner(ownerNo)
CONSTRAINT ownerNo_fk2 REFERENCES catOwner(ownerNo)
);
如何正确地为引用其他两个表中的ownerno的外键创建约束?
2条答案
按热度按时间piok6c0g1#
你不能。在petsadopted中可以有两列:dogownerno和catownerno以及两个外键。但是table的设计似乎没有意义:不管是谁养的,宠物肯定不是狗就是猫(或者别的什么东西)?
这是另一种设计:
jq6vz3qz2#
这只是解决你的答案语法部分,你有很多语法错误,但这不会工作,请重新考虑你的设计。