gpt4 book ai didi

MySql,同一个表的多列的外键

转载 作者:行者123 更新时间:2023-11-29 15:56:26 25 4
gpt4 key购买 nike

我想为来自同一表动物的名称和 ID 定义一个外键。

CREATE TABLE vet_appointment(
name VARCHAR(15),
ID CHAR(9),
date_tome DATETIME,
ID_client CHAR(9),
ID_vet CHAR(9),
PRIMARY KEY (date_time),
FOREIGN KEY (name, ID) REFERENCES animal(name, ID),
FOREIGN KEY (ID_client) REFERENCES client(ID),
FOREIGN KEY (ID_vet) REFERENCES vet(ID));

代码“FOREIGN KEY(名称,ID)引用动物(名称,ID)”的这一部分给我这个错误“150外键格式不正确”。如果我消除这个外键,就会创建表。所以我知道这就是问题所在。我做错了什么?

最佳答案

我怀疑你真的想要这个:

CREATE TABLE vet_appointment(
id int auto_increment primary key,
id_animal int,
date_time DATETIME,
ID_cliente CHAR(9),
ID_vet CHAR(9),
unique (date_time),
FOREIGN KEY id_animal) REFERENCES animal(id),
FOREIGN KEY (ID_cliente) REFERENCES client(ID),
FOREIGN KEY (ID_vet) REFERENCES vet(ID)
);

动物的名称不应出现在此表中。它应该位于animal 表中。

我还建议您的表使用自动递增整数主键。但是,您可能有理由更喜欢 char(9) 键。

关于MySql,同一个表的多列的外键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56428677/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com