我一直在努力学习我遇到的一个教程,它是关于SpringSecurity的。在某些地方,我需要在数据库中创建两个表,分别是userauthorities。在执行此操作时,我正在使用本教程中建议的脚本。http://docs.spring.io/spring-security/site/docs/3.0.x/reference/appendix-schema.html
我的数据库中已经有一个user表,所以我只需要添加autohirites表。自从我使用mysql以来,我已经更改了如下查询:

create table authorities (
      username varchar(70) not null,
      authority varchar(50) not null,
      CONSTRAINT fk_authorities_users foreign key(username) references user(userFirstName));
      create unique index ix_auth_username on authorities (username,authority);

另外,这里还有我的用户表:
CREATE TABLE `user` (
    `userId` INT(11) NOT NULL AUTO_INCREMENT,
    `userFirstName` VARCHAR(70) NOT NULL,
    `userLastName` VARCHAR(70) NOT NULL,
    `userEmail` VARCHAR(70) NOT NULL,
    `userAddress` VARCHAR(500) NULL DEFAULT NULL,
    `userPhoneNumber` INT(13) NULL DEFAULT NULL,
    `isActive` BINARY(50) NULL DEFAULT '1\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0',
    `userPassword` VARCHAR(50) NOT NULL,
    `userConfirmPassword` VARCHAR(50) NOT NULL,
    PRIMARY KEY (`userId`)
)
COLLATE='utf8_general_ci'
ENGINE=InnoDB
AUTO_INCREMENT=2
;

当我试图运行第一个要创建authorities表的查询时,出现错误1215:cannot add foreign key constraint error。
到目前为止,我已经调查了下面这些问题,但没有一个回答我的问题+我认为它们都是相同的问题:
MySQL Cannot Add Foreign Key Constraint
MySQL Error 1215: Cannot add foreign key constraint

最佳答案

尝试使userFirstName列唯一。

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

10-10 23:55