


Definition und Einschränkungen von Fremdschlüsseln in MySQL-Datenbanken
Mar 15, 2024 pm 12:36 PMTitel: 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 关联表名(关联列名) );
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 );
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!

Heißer Artikel

Hot-Tools-Tags

Heißer Artikel

Heiße Artikel -Tags

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Reduzieren Sie die Verwendung des MySQL -Speichers im Docker

Wie verändern Sie eine Tabelle in MySQL mit der Änderungstabelleanweisung?

So lösen Sie das Problem der MySQL können die gemeinsame Bibliothek nicht öffnen

Führen Sie MySQL in Linux aus (mit/ohne Podman -Container mit Phpmyadmin)

Ausführen mehrerer MySQL-Versionen auf macOS: Eine Schritt-für-Schritt-Anleitung

Wie sichere ich mich MySQL gegen gemeinsame Schwachstellen (SQL-Injektion, Brute-Force-Angriffe)?

Was sind einige beliebte MySQL -GUI -Tools (z. B. MySQL Workbench, PhpMyAdmin)?
