gpt4 book ai didi

MySQL - 无法添加外键约束

转载 作者:行者123 更新时间:2023-11-29 12:14:07 24 4
gpt4 key购买 nike

请帮忙我对此很菜鸟,我不知道应该如何放置外键如果有人可以提供帮助,我将不胜感激!

mysql> 
create table Evento
(idEven int NOT NULL auto_increment,
denominacion varchar(20),
horaInicio time,
idLugar int,
cupo int,

constraint PK_Evento primary key (idEven));

Query OK, 0 rows affected

mysql>
create table Lugar
(idLugar int NOT NULL,
nombre varchar(20),
direccion varchar(20),
localidad varchar(20),

constraint PK_Lugar primary key (idLugar),
constraint FK_Lugar foreign key (idLugar) references Evento(idLugar));

错误 1215 (HY000):无法添加外键约束

最佳答案

看起来您想要一个来自 event 的外键来引用 place

也就是说,看起来一个“事件”发生在一个地方,但一个地方可以有很多“事件”。为了在“事件”表中表示这一点,我们引用事件发生的“地点”。您已经在那里获得了该专栏。

只要转换一下你的想法...外键是在子表上定义的,并引用父表。事件表中的 idLugar 列是对 Lugar 中行的引用。

只需从 Lugar 表中删除第二个外键约束,然后向 Evento 表添加一个约束即可。

例如:

 ALTER TABLE `Evento` ADD
CONSTRAINT FK_Evento_Lugar FOREIGN KEY (idLugar) REFERENCES Lugar(idLugar)
<小时/>

注意:请注意表名称的区分大小写问题。为了避免出现问题,我们采用的模式是将所有表名小写,并在 my.cnf 中设置 lower_case_table_names=1

引用:https://dev.mysql.com/doc/refman/5.5/en/identifier-case-sensitivity.html

关于MySQL - 无法添加外键约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30145564/

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