Heim  >  Artikel  >  Datenbank  >  Verwendung von Fremdschlüsseln in MySQL

Verwendung von Fremdschlüsseln in MySQL

王林
王林nach vorne
2023-08-31 11:37:021297Durchsuche

在 MySQL 中使用外键

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.

Untergeordnete Tabelle erstellen

mysql> create table StudentEnrollment
−> (
   −> StudentId int,
   −> StudentName varchar(200),
   −> StudentFKPK int
−> );
Query OK, 0 rows affected (0.91 sec)

Übergeordnete Tabelle erstellen

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.

Syntax

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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen