"Foreign key constraint is incorrectly formed" 尽管数据类型相同

"Foreign key constraint is incorrectly formed" despite same data type

我想添加一个引用 Member.id 的外键 Enrols.mid,但经过几次尝试(添加索引、创建键、谷歌搜索)后它仍然无法正常工作。 两列具有完全相同的数据类型,为什么添加外键不起作用?

MariaDB [alumni]> alter table Enrols add foreign key (`mid`) references Member.id;
ERROR 1005 (HY000): Can't create table `alumni`.`#sql-31e_21d` (errno: 150 "Foreign key constraint is incorrectly formed")
MariaDB [alumni]> desc Member;
+-----------+-------------+------+-----+---------+-------+
| Field     | Type        | Null | Key | Default | Extra |
+-----------+-------------+------+-----+---------+-------+
| id        | char(8)     | NO   | PRI |         |       |
| cName     | varchar(8)  | NO   |     | NULL    |       |
| eName     | varchar(40) | NO   |     | NULL    |       |
| gender    | char(1)     | NO   |     | NULL    |       |
| org       | varchar(40) | YES  |     | NULL    |       |
| pos       | varchar(20) | YES  |     | NULL    |       |
| hobby     | int(11)     | NO   |     | NULL    |       |
| issueDate | date        | NO   |     | NULL    |       |
| note      | text        | YES  |     | NULL    |       |
+-----------+-------------+------+-----+---------+-------+
9 rows in set (0.01 sec)

MariaDB [alumni]> desc Enrols;
+-------+---------+------+-----+---------+-------+
| Field | Type    | Null | Key | Default | Extra |
+-------+---------+------+-----+---------+-------+
| id    | int(11) | YES  |     | NULL    |       |
| aid   | int(11) | NO   | PRI | NULL    |       |
| mid   | char(8) | NO   | PRI |         |       |
| paid  | date    | YES  |     | NULL    |       |
+-------+---------+------+-----+---------+-------+
4 rows in set (0.01 sec)

MariaDB [alumni]> 

如@Damien_The_Unbeliever 在他们的评论中所说,应该是 references Member(id)

你的 . 语法意味着: reference table id in Schema Member (但是你想引用 idtable Member.