我有一种情况,我有一个名为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