将一个表的复合主键映射到ManyToMany关系中的另一个表的复合主键

时间:2014-07-16 00:42:29

标签: mysql database entity-framework

我有一种情况,我有一个名为User的实体和另一个Entity UserHasFriends,两者之间存在多对多的关系。对于实例,用户可以是许多其他用户的朋友,反之亦然。我在User表中有2个主键,userId和另一个是与User关联的uniqueNo。在表UserHasFriends中,我有复合主键(userId,uniqueNo),它们也是User表的外键,表示用户是与其他用户的朋友。 UserHasFriends表还包含一些其他属性。

问题是:当我尝试创建此架构时,它向我显示错误:“无法添加外键”。


CREATE TABLE IF NOT EXISTS `mydb`.`User` (
  `userId` INT NOT NULL,
  `uniqueNo` VARCHAR(45) NOT NULL,
  `username` VARCHAR(45) NOT NULL,
  `password` VARCHAR(45) NOT NULL,
  `email` VARCHAR(45) NOT NULL,
  `firstName` VARCHAR(45) NOT NULL,
  `lastName` VARCHAR(45) NOT NULL,
  `phoneNo` VARCHAR(45) NULL,
  `address` VARCHAR(45) NULL,
  PRIMARY KEY (`userId`, `uniqueNo`))
ENGINE = InnoDB



CREATE TABLE IF NOT EXISTS `mydb`.`UserHasFriends` (
  `userId` INT NOT NULL,
  `uniqueNo` VARCHAR(45) NOT NULL,
  `requestStatus` VARCHAR(45) NULL,
  PRIMARY KEY (`userId`, `uniqueNo`))
ENGINE = InnoDB

0 个答案:

没有答案