Lassen Sie uns verstehen, wie Fremdschlüssel in MySQL verwendet werden. −
InnoDB-Tabellen unterstützen die Überprüfung von Fremdschlüsseleinschränkungen. Für die Verknüpfung der beiden Tabellen sind keine Fremdschlüsseleinschränkungen erforderlich. Es kann beim Definieren der zu verwendenden Spalten für andere Speicher-Engines als InnoDB verwendet werden. REFERENCES tableName(colName) hat keine praktische Wirkung, außer dem Benutzer mitzuteilen, dass die aktuell definierte Spalte dazu gedacht ist, auf eine Spalte in einer anderen Tabelle zu verweisen.
MySQL prüft nicht, ob „colName“ tatsächlich in „tableName“ existiert oder dass „tableName“ selbst tatsächlich existiert.
In der übergeordneten Tabelle fungiert der Fremdschlüssel als Primärschlüssel. Sehen wir uns ein Beispiel für die Erstellung einer Tabelle an.
mysql> create table StudentEnrollment −> ( −> StudentId int, −> StudentName varchar(200), −> StudentFKPK int −> ); Query OK, 0 rows affected (0.91 sec)
mysql> create table College −> ( −> StudentFKPK int, −> CourseId int, −> CourseName varchar(200), −> CollegeName varchar(200), −> primary key(StudentFKPK) −> ); Query OK, 0 rows affected (0.46 sec)
In der übergeordneten Tabelle ist die Spalte „StudentFKPK“ ein Primärschlüssel. Wir werden den ALTER-Befehl verwenden, um einen Fremdschlüssel hinzuzufügen.
Das Folgende ist die Syntax zum Hinzufügen von Fremdschlüsseln.
ALTER table yourChildTableName add constraint anyConstraintName foreign key(primary key column name for parent table) references College(primary key column name for parent table);
Das obige ist der detaillierte Inhalt vonVerwendung von Fremdschlüsseln in MySQL. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!