Zym*_*mus 5 mysql sql foreign-keys foreign-key-relationship
我的数据库中有两个表:Person 和 Pet。
CREATE TABLE Person (
id INT NOT NULL,
PRIMARY KEY (id)
)
CREATE TABLE Pet (
id INT NOT NULL,
original_owner INT NOT NULL,
current_owner INT NOT NULL,
PRIMARY KEY (id),
FOREIGN KEY (original_owner)
REFERENCES Person(id),
FOREIGN KEY (current_owner)
REFERENCES Person(id)
)
Run Code Online (Sandbox Code Playgroud)
我试图参考每只宠物的前任主人和当前主人。我也尝试过
CREATE TABLE Pet (
id INT NOT NULL,
original_owner INT NOT NULL,
current_owner INT NOT NULL,
PRIMARY KEY (id),
FOREIGN KEY (original_owner, current_owner)
REFERENCES Person(id, id)
)
Run Code Online (Sandbox Code Playgroud)
和
CREATE TABLE Pet (
id INT NOT NULL,
original_owner INT NOT NULL,
current_owner INT NOT NULL,
PRIMARY KEY (id),
FOREIGN KEY (original_owner, current_owner)
REFERENCES Person(id)
)
Run Code Online (Sandbox Code Playgroud)
但我收到以下错误:
错误代码:1215。无法添加外键约束
这有可能实现吗?或者我是否必须创建某种桥接表来适应这种情况?
问题是我在脚本中定义的表的顺序。我让 Pet 出现在 Person 之前。一旦我把人放在宠物之上,它就工作得很好。问题中的示例是我自己写的,因为当我发布它时,我手头没有实际的代码。