下面是出现问题的代码:
CREATE TABLE User_Account
(
Account_ID INT UNSIGNED NOT NULL AUTO_INCREMENT,
Account_Name VARCHAR(50) NOT NULL,
Account_Email VARCHAR(50) NOT NULL,
Software_Used VARCHAR(50) NOT NULL,
Years_Of_Experiance YEAR NOT NULL,
Account_Rank INT NOT NULL,
Account_Status VARCHAR(50) NOT NULL,
Followers INT NOT NULL,
PRIMARY KEY (Account_ID)
);
CREATE TABLE User_Tracking
(
Account_Status VARCHAR(50) NOT NULL,
Time_Online TIME NOT NULL,
Times_Logged_On INT NOT NULL,
PRIMARY KEY (Account_Status),
INDEX (Account_Status), FOREIGN KEY (Account_Status) REFERENCES User_Account(Account_Status)
);
CREATE TABLE Posts
(
Post_ID INT NOT NULL,
Title_Of_Post VARCHAR(50) NOT NULL,
Creator_Name VARCHAR(50) NOT NULL,
Date_Created DATE NOT NULL,
Post_Details VARCHAR(200) NOT NULL,
Likes INT NOT NULL,
PRIMARY KEY (Post_ID),
INDEX (Creator_Name), FOREIGN KEY (Creator_Name) REFERENCES User_Account(Account_Name),
INDEX (Likes), FOREIGN KEY (Likes) REFERENCES Likes(Like_ID)
);
CREATE TABLE Likes
(
Like_ID INT NOT NULL,
Account_Name VARCHAR(50) NOT NULL,
Date_Liked DATE NOT NULL,
PRIMARY KEY (Like_ID),
INDEX (Account_Name), FOREIGN KEY (Account_Name) REFERENCES User_Account(Account_Name)
);
我一直得到错误:错误代码:1822。 未能添加外键约束。 引用的表“USER_ACCOUNT”中缺少约束“POSTS_IBFK_1”的索引
请尽量保持语言简单,因为我是一个新手,还在学习SQL和MySQL工作台
更具体地说,缺少的索引位于user_account.account_name上,请参阅https://dev.mysql.com/doc/refman/8.0/en/create-table-foreign-keys.html