Die Betriebsumgebung dieses Tutorials: Windows 7-System, MySQL 8-Version, Dell G3-Computer. Die MySQL-Fremdschlüsseleinschränkung (FOREIGN KEY) ist ein spezielles Feld einer Tabelle, das häufig mit Primärschlüsseleinschränkungen verwendet wird. Bei zwei Tabellen mit einer zugehörigen Beziehung ist die Tabelle, in der sich der Primärschlüssel im zugehörigen Feld befindet, die Primärtabelle (übergeordnete Tabelle), und die Tabelle, in der sich der Fremdschlüssel befindet, ist die Sekundärtabelle (untergeordnete Tabelle). Fremdschlüssel werden verwendet, um eine Verbindung zwischen der Primärtabelle und der Sekundärtabelle herzustellen, die Daten in den beiden Tabellen zu verbinden und die Konsistenz und Integrität der Daten in den beiden Tabellen einzuschränken. Beim Definieren von Fremdschlüsseln müssen Sie die folgenden Regeln beachten:
Hinzufügen von Fremdschlüsseleinschränkungen zu einer Tabelle in MySQL Beim Ändern einer Tabelle können Fremdschlüsseleinschränkungen hinzugefügt werden. Voraussetzung für das Hinzufügen von Fremdschlüsseleinschränkungen ist jedoch, dass die Daten in der Fremdschlüsselspalte der Slave-Tabelle mit den Daten in der Primärschlüsselspalte der Master-Tabelle übereinstimmen müssen oder dass keine Daten vorhanden sind. Die Syntax zum Hinzufügen einer Fremdschlüsseleinschränkung beim Ändern einer Datentabelle lautet wie folgt: ALTER TABLE <Tabellenname> ADD CONSTRAINT <Fremdschlüsselname> FOREIGN KEY(<Spaltenname>) REFERENCES <primärer Tabellenname> (<Spaltenname>); Beispiel Ändern Sie die Datentabelle tb_emp2, legen Sie das Feld deptId als Fremdschlüssel fest und verknüpfen Sie es mit der Primärschlüssel-ID der Datentabelle tb_dept1 mysql> ALTER TABLE tb_emp2 -> EINSCHRÄNKUNG fk_tb_dept1 HINZUFÜGEN -> Fremdschlüssel (Abteilungs-ID) -> REFERENZEN tb_dept1(id); Abfrage OK, 0 Zeilen betroffen (1,38 Sek.) Datensätze: 0 Duplikate: 0 Warnungen: 0 mysql> ANZEIGEN CREATE TABLE tb_emp2\G *************************** 1. Reihe *************************** Tabelle: tb_emp2 Tabelle erstellen: CREATE TABLE `tb_emp2` ( `id` int(11) NICHT NULL, `name` varchar(30) DEFAULT NULL, `deptId` int(11) DEFAULT NULL, `Gehalt` float DEFAULT NULL, Primärschlüssel (`id`), SCHLÜSSEL `fk_tb_dept1` (`deptId`), EINSCHRÄNKUNG `fk_tb_dept1` FREMDER SCHLÜSSEL (`deptId`) REFERENZEN `tb_dept1` (`id`) ) ENGINE=InnoDB STANDARD-CHARSET=gb2312 1 Zeile im Satz (0,12 Sek.) Hinweis: Wenn Sie einer bereits erstellten Datentabelle Fremdschlüsseleinschränkungen hinzufügen, stellen Sie sicher, dass die Werte der Spalten, denen die Fremdschlüsseleinschränkungen hinzugefügt werden, alle aus den Primärschlüsselspalten stammen und dass die Fremdschlüsselspalten nicht leer sein können. Inhaltserweiterung: Wann werden Fremdschlüsseleinschränkungen verwendet? Ehrlich gesagt müssen Sie bei der Verwendung von InnoDB-Tabellen in MySQL nicht unbedingt Fremdschlüsseleinschränkungen verwenden. Um jedoch die Funktion von Fremdschlüsseleinschränkungen in einigen Fällen zu veranschaulichen, verwenden wir den Code des oben genannten Beispiels, um es ausführlich zu erklären. Es enthält zwei MyISAM-Tabellen, eine zum Speichern von Blog-Posts und eine zum Speichern von Kommentaren. Beim Definieren des Datenbankschemas stellen wir eine Eins-zu-viele-Beziehung zwischen diesen beiden Tabellen her, indem wir in der Kommentartabelle einen Fremdschlüssel erstellen, um jede Zeile (d. h. jeden Kommentar) einem bestimmten Blogbeitrag zuzuordnen. Hier ist der grundlegende SQL-Code zum Erstellen einer MyISAM-Beispieltabelle: Tabelle löschen, wenn `test`.`blogs` vorhanden ist; Tabelle `test`.`blogs` erstellen ( `id` INT(10) UNSIGNED AUTO_INCREMENT, `Titel` TEXT, `Inhalt` TEXT, `Autor` VARCHAR(45) DEFAULT NULL, PRIROSE-SCHLÜSSEL (`id`) )ENGINE=MyISAM STANDARD-CHARSET=utf8; DROP TABLE, WENN `test`.`comments` EXISTIERT; CREATE TABLE `test`.`comments` ( `id` INT(10) UNSIGNED AUTO_INCREMENT, `blog_id` INT(10) UNSIGNED DEFAULT NULL, `Kommentar` TEXT, `Autor` VARCHAR(45) DEFAULT NULL, PRIROSE-SCHLÜSSEL (`id`) )ENGINE=MyISAM STANDARD-CHARSET=utf8; Dies ist das Ende dieses Artikels über die spezifische Methode zum Hinzufügen von Fremdschlüsseleinschränkungen zu MySQL. Weitere Informationen zum Hinzufügen von Fremdschlüsseleinschränkungen zu MySQL finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird! Das könnte Sie auch interessieren:
|
<<: Einführung und Tipps zur Verwendung der interaktiven Visualisierungs-JS-Bibliothek gojs
Inhaltsverzeichnis Überblick Vorsichtsmaßnahmen 1...
<br />Tabelle ist ein umständliches Tag in X...
Standardmäßig ist die Einstellung der Breite für B...
Inhaltsverzeichnis Vorwort Verwechslung von „unde...
1. Problem Es gibt eine Tabelle wie unten gezeigt...
1. CSS-Elemente verbergen <br />In CSS gibt ...
Eine Geschichte über die Datenbankleistung Währen...
Die Formularelemente mit Sichtbarkeit=versteckt un...
Inhaltsverzeichnis 1. Softwarepaket 2. Installier...
Als ich heute ein kleines Programm schrieb, benut...
Vorwort Dieser Artikel stellt die fünfte Frage vo...
Die meisten Navigationsleisten sind horizontal an...
1. Rasterlayout (Raster): Es unterteilt die Webse...
Welche Produkte möchten Sie erwähnen? Vor kurzem ...
Als ich kürzlich Docker zum Bereitstellen einer J...