我已经搜索过可能有效的答案,但没有解决。
我已经创建了这样的表,当创建表'hobbies'时出现错误1072。
CREATE TABLE IF NOT EXISTS `project_r`.`user` (
`user_id` INT NOT NULL ,
`password` VARCHAR(45) NOT NULL ,
`RealName` VARCHAR(45) NOT NULL ,
`FamilyName` VARCHAR(45) NOT NULL ,
`birthdate` VARCHAR(45) NOT NULL ,
`Homecity` VARCHAR(45) NOT NULL ,
`school_id` INT NOT NULL ,
`school_enteryear` INT NOT NULL ,
`email` VARCHAR(45) NULL ,
`activestat` VARCHAR(45) NULL ,
`onlinestat` VARCHAR(45) NULL ,
`regtime` DATETIME NOT NULL ,
`avatar` VARCHAR(45) NULL ,
`status` VARCHAR(45) NULL ,
`desc` VARCHAR(45) NULL ,
`self_comment` VARCHAR(45) NULL ,
`userMsg_id` INT NOT NULL ,
PRIMARY KEY (`user_id`) ,
INDEX `fk_user_school1_idx` (`school_id` ASC) ,
CONSTRAINT `fk_user_school1`
FOREIGN KEY (`school_id` )
REFERENCES `project_r`.`school` (`school_id` )
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
然后创建表'爱好'
CREATE TABLE IF NOT EXISTS `project_r`.`hobbies` (
`hobby_user_id` INT NOT NULL ,
`favorite_music` VARCHAR(45) NULL ,
`favorite_game` VARCHAR(20) NULL ,
`favorite_film` VARCHAR(45) NULL ,
`favorite_book` VARCHAR(45) NULL ,
`favorite_sport` VARCHAR(45) NULL ,
`favorite_cartoon` VARCHAR(45) NULL ,
`hobby` VARCHAR(45) NULL ,
PRIMARY KEY (`user_id`) ,
INDEX `fk_user_id` (`hobby_user_id` ASC) ,
CONSTRAINT `fk_user_id`
FOREIGN KEY (`hobby_user_id` )
REFERENCES `project_r`.`user` (`user_id` )
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
添加或不添加AUTO-INCREMENT事件或添加到引用表的索引都不起作用。 请求帮助。
答案 0 :(得分:1)
在“爱好”表格中,您尝试将pk设置为user_id,该值不存在。将其更改为:
PRIMARY KEY (`hobby_user_id`)
答案 1 :(得分:1)
表user_id
上的字段hobbies
不存在,
您可能希望hobby_user_id
成为表hobbies
中的主键:
PRIMARY KEY (`hobby_user_id`),
在表hobbies
上隐藏外键没有错。
答案 2 :(得分:0)
您在PRIMARY KEY
的{{1}}列上设置了user_id
,但没有此列。它被称为hobbies
。
hobby_user_id
在我自己的数据库中进行快速测试,使用正确的 PRIMARY KEY (`hobby_user_id`) ,
规范