Foreign Key membantu membangun hubungan database dan menjaga integritas referensial. Mereka membantu menghubungkan satu atau lebih kolom dalam satu tabel ke tabel lain. Berikut cara menambahkan kunci asing di MySQL.
Cara Menambahkan Kunci Asing di MySQL
Berikut adalah langkah-langkah untuk menambahkan kunci asing di MySQL. Anda dapat menambahkan batasan kunci asing menggunakan pernyataan CREATE TABLE atau ALTER TABLE di SQL.
Berikut sintaks untuk membuat kunci asing di MySQL.
Menggunakan ALTER TABLE
ALTER TABLE table_name ADD CONSTRAINT constraint_name FOREIGN KEY (foreign_key_name,...) REFERENCES parent_table(column_name,...);
Dalam kueri di atas, nama_tabel adalah tabel tempat Anda ingin menambahkan kunci asing. nama_kendala adalah nama dari batasan kunci asing. nama_kunci_asing, … adalah daftar kolom kunci asing.
tabel_orangtua adalah tabel yang menjadi referensi foreign_key Anda, diikuti dengan daftar nama kolom dalam tabel tersebut
Bonus Baca :MySQL Alter Table Column
Menggunakan CREATE TABLE
CREATE TABLE table_name( column_name column_description, CONSTRAINT constraint_name FOREIGN KEY (foreign_key_name,...) REFERENCES parent_table(column_name,...) )
Dalam kueri di atas, nama_tabel adalah tabel tempat Anda ingin menambahkan kunci asing. nama_kendala adalah nama dari batasan kunci asing. nama_kunci_asing, … adalah daftar kolom kunci asing.
tabel_orangtua adalah tabel yang menjadi referensi foreign_key Anda, diikuti dengan daftar nama kolom dalam tabel tersebut.
Harap diperhatikan , di ALTER TABLE Anda perlu menggunakan ADD CONSTRAINT sedangkan di CREATE TABLE Anda hanya perlu menggunakan kata kunci CONSTRAINT.
Bonus Baca :MySQL DROP FOREIGN KEY Constraint
Contoh MySQL ADD FOREIGN KEY
Katakanlah Anda memiliki tabel berikut.
Mari kita buat 2 tabel (kategori dan pesanan ) dan tambahkan batasan kunci asing ke pesanan , merujuk pada id kolom di kategori tabel.
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 Baca :MySQL DROP UNIQUE CONSTRAINT
Mari kita lihat contoh yang sama menggunakan pernyataan ALTER TABLE.
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 memudahkan untuk memvisualisasikan data dalam hitungan menit, dan memantau di dasbor waktu nyata. Cobalah Hari ini!