Foreign Key hjälper till att upprätta databasrelationer och upprätthålla referensintegritet. De hjälper till att länka en eller flera kolumner i en tabell till en annan tabell. Så här lägger du till främmande nyckel i MySQL.
Hur man lägger till främmande nyckel i MySQL
Här är stegen för att lägga till främmande nyckel i MySQL. Du kan lägga till en främmande nyckel med CREATE TABLE- eller ALTER TABLE-satser i SQL.
Här är syntaxen för att skapa främmande nyckel i MySQL.
Med ALTER TABLE
ALTER TABLE table_name ADD CONSTRAINT constraint_name FOREIGN KEY (foreign_key_name,...) REFERENCES parent_table(column_name,...);
I ovanstående fråga, tabellnamn är tabellen där du vill lägga till främmande nyckel. constraint_name är namnet på den främmande nyckelbegränsningen. utländsk_nyckelnamn, … är listan över kolumner för främmande nyckel.
föräldertabell är tabellen som din främmande_nyckel refererar till, följt av en lista med kolumnnamn i den tabellen
Bonus Läs:MySQL Alter Table Column
Med CREATE TABLE
CREATE TABLE table_name( column_name column_description, CONSTRAINT constraint_name FOREIGN KEY (foreign_key_name,...) REFERENCES parent_table(column_name,...) )
I ovanstående fråga, tabellnamn är tabellen där du vill lägga till främmande nyckel. constraint_name är namnet på den främmande nyckelbegränsningen. utländsk_nyckelnamn, … är listan över kolumner för främmande nyckel.
föräldertabell är tabellen som din främmande_nyckel refererar till, följt av en lista med kolumnnamn i den tabellen.
Obs , i ALTER TABLE behöver du använda ADD CONSTRAINT medan du i CREATE TABLE endast behöver använda sökordet CONSTRAINT.
Bonus Läs:MySQL DROP FOREIGN KEY Constraint
Exempel på MySQL LÄGG TILL UTLÄNDSKA NYCKEL
Låt oss säga att du har följande tabeller.
Låt oss skapa två tabeller (kategorier och beställningar ) och lägg till begränsning av främmande nyckel till ordrar , med hänvisning till id kolumn i kategorier bord.
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 Läs:MySQL DROP UNIK BEGRÄNSNING
Låt oss ta en titt på samma exempel med ALTER TABLE-satsen.
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 gör det enkelt att visualisera data på några minuter och övervaka i realtidsinstrumentpaneler. Prova det idag!