问题描述
我尝试添加类型为VARCHAR的外键,该外键也引用另一个类型为VARCHAR的表列。这两个列的类型和长度都是相同的,但我不断收到错误消息: 无法添加外键约束。缺少约束索引
下面的第一个表在创建时没有问题,但是第二个表是向其抛出错误的表:无法添加外键约束。引用表'users'中约束'FK_Session_User'的索引缺失
我要引用的列是UserName列。
CREATE TABLE Users (
UserID INT NOT NULL AUTO_INCREMENT,Role_Code VARCHAR(15) NOT NULL,UserName VARCHAR(40) NOT NULL,Password TEXT NOT NULL,CONSTRAINT PK_User PRIMARY KEY (UserID,UserName),CONSTRAINT FK_User_Roles FOREIGN KEY (Role_Code)
REFERENCES Roles(Role_Code));
CREATE TABLE Auth_Users (
SessionID VARCHAR(96) NOT NULL,Last_Visit TIMESTAMP DEFAULT CURRENT_TIMESTAMP,CONSTRAINT PK_AuthUser PRIMARY KEY (SessionID),CONSTRAINT FK_Session_User FOREIGN KEY (UserName)
REFERENCES Users(UserName)
);
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)