如何正确创建外键?

how to properly create a foreign key?

我有以下 SQL

mysql-sql> create table Employees (Emp_ID int not null primary key, Emp_Name varchar(20),Hours_LoggedIn int);
Query OK, 0 rows affected (0.09 sec)
mysql-sql> insert into Employees (Emp_ID,Emp_Name,Hours_LoggedIn) values (001,'Dinesh',9);
Query OK, 1 row affected (0.03 sec)
mysql-sql> insert into Employees (Emp_ID,Emp_Name,Hours_LoggedIn) values (002,'Shruthi',8);
Query OK, 1 row affected (0.02 sec)
mysql-sql> insert into Employees (Emp_ID,Emp_Name,Hours_LoggedIn) values (003,'Sukanya',7);
Query OK, 1 row affected (0.00 sec)
mysql-sql> insert into Employees (Emp_ID,Emp_Name,Hours_LoggedIn) values (004,'Varun',6);
Query OK, 1 row affected (0.00 sec)
mysql-sql> insert into Employees (Emp_ID,Emp_Name,Hours_LoggedIn) values (005,'Karthi',5);
Query OK, 1 row affected (0.01 sec)


mysql-sql>  create table Project (Project_ID int not null primary key,Project_Name varchar(20),Project_Manager varchar(20),CostPerHour int,Minimum_LoggedInHours int,foreign key(Minimum_LoggedInHours) references Employees(Hours_LoggedIn));

出现以下错误。

ERROR: 1215 (HY000): Cannot add foreign key constraint

我需要使用 Hours_LoggedIn 作为 FK。任何人都可以帮助提供正确的代码吗?

MySQL 要求索引外键引用的任何列。请尝试以下操作:

ALTER TABLE Employees ADD INDEX hours_logged_in_idx(Hours_LoggedIn);

在创建项目之前 table。请注意,由于 Hours_LoggedIn 不一定是唯一的,因此这可能会导致意外行为。