Foreign Key hilft dabei, Datenbankbeziehungen aufzubauen und die referenzielle Integrität aufrechtzuerhalten. Sie helfen, eine oder mehrere Spalten in einer Tabelle mit einer anderen Tabelle zu verknüpfen. So fügen Sie Fremdschlüssel in MySQL hinzu.
Wie man Fremdschlüssel in MySQL hinzufügt
Hier sind die Schritte zum Hinzufügen von Fremdschlüsseln in MySQL. Sie können eine Fremdschlüsseleinschränkung mit CREATE TABLE- oder ALTER TABLE-Anweisungen in SQL hinzufügen.
Hier ist die Syntax zum Erstellen von Fremdschlüsseln in MySQL.
Mit ALTER TABLE
ALTER TABLE table_name ADD CONSTRAINT constraint_name FOREIGN KEY (foreign_key_name,...) REFERENCES parent_table(column_name,...);
In der obigen Abfrage table_name ist die Tabelle, in der Sie den Fremdschlüssel hinzufügen möchten. constraint_name ist der Name der Fremdschlüsseleinschränkung. Fremdschlüsselname, … ist die Liste der Fremdschlüsselspalten.
parent_table ist die Tabelle, auf die Ihr Foreign_Key verweist, gefolgt von einer Liste der Spaltennamen in dieser Tabelle
Bonus-Lesetext:MySQL Alter Table Column
CREATE TABLE verwenden
CREATE TABLE table_name( column_name column_description, CONSTRAINT constraint_name FOREIGN KEY (foreign_key_name,...) REFERENCES parent_table(column_name,...) )
In der obigen Abfrage table_name ist die Tabelle, in der Sie den Fremdschlüssel hinzufügen möchten. constraint_name ist der Name der Fremdschlüsseleinschränkung. Fremdschlüsselname, … ist die Liste der Fremdschlüsselspalten.
parent_table ist die Tabelle, auf die Ihr Foreign_Key verweist, gefolgt von einer Liste der Spaltennamen in dieser Tabelle.
Bitte beachten , in ALTER TABLE müssen Sie ADD CONSTRAINT verwenden, während Sie in CREATE TABLE nur das Schlüsselwort CONSTRAINT verwenden müssen.
Bonus-Lesetext:MySQL DROP FOREIGN KEY Constraint
MySQL ADD FOREIGN KEY Beispiele
Angenommen, Sie haben die folgenden Tabellen.
Lassen Sie uns 2 Tabellen erstellen (Kategorien und Bestellungen ) und Bestellungen eine Fremdschlüsselbeschränkung hinzufügen , auf id verweisend Spalte in Kategorien Tabelle.
mysql> create table categories(id int auto_increment primary key,name varchar(255)); mysql> create table orders(id int auto_increment primary key,category_id int, CONSTRAINT fk_cat FOREIGN KEY (category_id) REFERENCES categories(id)); mysql> describe orders; +-------------+---------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-------------+---------+------+-----+---------+----------------+ | id | int(11) | NO | PRI | NULL | auto_increment | | category_id | int(11) | YES | MUL | NULL | | +-------------+---------+------+-----+---------+----------------+
Bonus-Lesetext:MySQL DROP UNIQUE CONSTRAINT
Schauen wir uns dasselbe Beispiel mit der ALTER TABLE-Anweisung an.
mysql> create table orders(id int auto_increment primary key,category_id int); mysql> create table categories(id int auto_increment primary key,name varchar(255)); mysql> ALTER TABLE orders ADD CONSTRAINT fk_cat FOREIGN KEY (category_id) REFERENCES categories(id); mysql> describe orders; +-------------+---------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-------------+---------+------+-----+---------+----------------+ | id | int(11) | NO | PRI | NULL | auto_increment | | category_id | int(11) | YES | MUL | NULL | | +-------------+---------+------+-----+---------+----------------+
Ubiq macht es einfach, Daten innerhalb von Minuten zu visualisieren und in Echtzeit-Dashboards zu überwachen. Probieren Sie es noch heute aus!