Ich wollte einen Fremdschlüssel Enrols.mid
hinzufügen, die Member.id
verweist, aber nach ein paar Versuchen (Hinzufügen von Index, Erstellen von Schlüsseln, googeln) funktioniert es immer noch nicht. Die zwei Spalten haben genau den gleichen Datentyp, warum das Hinzufügen eines Fremdschlüssels nicht funktioniert?"Fremdschlüssel Einschränkung ist falsch gebildet" trotz gleichen Datentyp
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]>
Sollte es nicht sein, 'Referenzen Mitglied (id) verweisen;'.? –