【问题标题】:Foreign key issue wont show a relation [closed]外键问题不会显示关系[关闭]
【发布时间】:2013-06-05 15:10:24
【问题描述】:

这是我正在处理的数据库的简化代码..我想在表 Episodi 和 comparein 之间建立关系,事实上你会看到我使用外键但是当我在 phpmyadmin 上继续设计时它不会显示关系...怎么了??

create table Serie(
  nome varchar(25) primary key,
descrizione varchar(400)
) ENGINE=InnoDB;

create table Episodi(
  titolo_episodio varchar(25) not null,
  nome_serie varchar(25) not null,
numero int not null,
  durata time not null,
  data_trasmissione date not null,
  FOREIGN KEY (nome_serie)REFERENCES Serie(nome),
PRIMARY KEY(nome_serie,numero)
) ENGINE=InnoDB;

 create table Personaggi(
  id_pers int auto_increment primary key,
  nome varchar(15) not null,
  cognome varchar(15),
  nazionalita varchar (15),
  nome_serie varchar(25),
  FOREIGN KEY (nome_serie)REFERENCES Serie(nome)
  ) ENGINE=InnoDB;

create table comparein(
  id_pers int not null,
nome_serie varchar(25),
  numero int not null,
  primary key(id_pers,nome_serie,numero),
 FOREIGN KEY (id_pers)REFERENCES Personaggi(id_pers),
 FOREIGN KEY (nome_serie, numero) REFERENCES Episodi(nome_serie, numero)
 )  ENGINE=InnoDB;

【问题讨论】:

标签: mysql foreign-keys


【解决方案1】:

http://sqlfiddle.com/#!2/67178/2

它作为索引显示给我。我相信如果您使用的是 innodb 数据库,则需要使用约束显式设置它们,否则它只会在它们上放置索引。

create table comparein(
  id_pers int not null,
nome_serie varchar(25),
  numero int not null,
  primary key(id_pers,nome_serie,numero),
 CONSTRAINT fk_pers FOREIGN KEY (id_pers)REFERENCES Personaggi(id_pers),
 CONSTRAINT fk_nome FOREIGN KEY (nome_serie, numero) REFERENCES Episodi(nome_serie, numero)
 )  ENGINE=InnoDB;

【讨论】:

  • 但它显示的是另一个表的关系...
  • 如果把personaghi表的外键关系取出来,episodi表的外键会显示吗?
  • 我不知道这是什么意思...但是如果我尝试创建这个数据库,我看不到链接的行:表中的 nome_serie 和 numero 与表 Episodi 上的相同属性进行比较
  • 这些是 innodb 表还是 myisam?
  • InnoDB 在我写的每个表的末尾
猜你喜欢
  • 2015-12-02
  • 1970-01-01
  • 1970-01-01
  • 2010-09-26
  • 1970-01-01
  • 2017-12-13
  • 2019-03-13
  • 2020-03-08
  • 1970-01-01
相关资源
最近更新 更多