Heim > Datenbank > MySQL-Tutorial > Hauptteil

Definition und Einschränkungen von Fremdschlüsseln in MySQL-Datenbanken

WBOY
Freigeben: 2024-03-15 12:36:04
Original
1112 Leute haben es durchsucht

Definition und Einschränkungen von Fremdschlüsseln in MySQL-Datenbanken

Titel: Definition und Einschränkungen von Fremdschlüsseln in MySQL-Datenbanken

In MySQL-Datenbanken ist ein Fremdschlüssel eine Einschränkung, die zum Herstellen einer Beziehung zwischen Tabellen verwendet wird. Fremdschlüssel stellen sicher, dass Daten in einer Tabelle mit Daten in einer anderen Tabelle verknüpft sind. Durch die Definition von Fremdschlüsseln können wir referenzielle Integrität zwischen Daten erreichen, um Datenkonsistenz und -zuverlässigkeit sicherzustellen.

1. Definition des Fremdschlüssels

In MySQL kann der Fremdschlüssel durch die folgende Syntax definiert werden:

CREATE TABLE 表名 (
    列名 数据类型,
    外键列名 数据类型,
    FOREIGN KEY (外键列名) REFERENCES 关联表名(关联列名)
);
Nach dem Login kopieren

wobei 外键列名 是当前表中需要关联的列名,关联表名 是需要关联的表的表名,关联列名 der Spaltenname ist, der in der zugehörigen Tabelle verknüpft werden muss. Mit dieser Definition können wir eine Eins-zu-Viele-Beziehung zwischen Tabellen herstellen.

2. Einschränkungen für Fremdschlüssel

Bei der Definition von Fremdschlüsseln können wir einige Einschränkungen hinzufügen, um die Integrität der Daten sicherzustellen. Im Folgenden sind einige allgemeine Fremdschlüsseleinschränkungen aufgeführt:

  • ON DELETE CASCADE: Wenn ein Datensatz in der Master-Tabelle gelöscht wird, werden auch die zugehörigen Datensätze in der Slave-Tabelle gelöscht.
  • ON DELETE SET NULL: Wenn ein Datensatz in der Haupttabelle gelöscht wird, wird der Fremdschlüsselwert des zugehörigen Datensatzes in der Slave-Tabelle auf NULL gesetzt.
  • ON UPDATE CASCADE: Wenn der Primärschlüsselwert des Datensatzes in der Mastertabelle aktualisiert wird, wird auch der Fremdschlüsselwert des zugehörigen Datensatzes in der Slavetabelle aktualisiert.
  • ON UPDATE SET NULL: Wenn der Primärschlüsselwert eines Datensatzes in der Master-Tabelle aktualisiert wird, wird der Fremdschlüsselwert des zugehörigen Datensatzes in der Slave-Tabelle auf NULL gesetzt.

Das Folgende ist ein Beispiel für eine bestimmte Fremdschlüsseldefinition und -beschränkung:

CREATE TABLE 父表 (
    id INT PRIMARY KEY,
    name VARCHAR(50)
);

CREATE TABLE 子表 (
    id INT PRIMARY KEY,
    parent_id INT,
    FOREIGN KEY (parent_id) REFERENCES 父表(id) ON DELETE CASCADE
);
Nach dem Login kopieren

In diesem Beispiel wird eine Eins-zu-Viele-Beziehung zwischen der übergeordneten Tabelle und der untergeordneten Tabelle hergestellt Beim Löschen werden auch die damit verbundenen untergeordneten Tabellendatensätze gelöscht, wodurch die Datenintegrität und -konsistenz sichergestellt wird.

Anhand der obigen Einführung können wir erkennen, dass die Definition und Einschränkung von Fremdschlüsseln sehr wichtig ist. Dies kann uns dabei helfen, die Beziehung zwischen Tabellen herzustellen und die Daten in der Datenbank effektiv zu verwalten.

Das obige ist der detaillierte Inhalt vonDefinition und Einschränkungen von Fremdschlüsseln in MySQL-Datenbanken. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!