Tutorial MySQL

RUMAH MySQL Pengenalan MySQL MySQL RDBMS

MySQL SQL

MySQL SQL MySQL PILIH MySQL DI MANA MySQL DAN, ATAU, BUKAN MySQL ORDER OLEH MySQL INSERT INTO Nilai MySQL NULL PEMBARUAN MySQL MySQL HAPUS BATAS MySQL MySQL MIN dan MAX MySQL COUNT, AVG, SUM MySQL SEPERTI Wildcard MySQL MySQL IN MySQL ANTARA MySQL Alias ​​​​ MySQL Bergabung MySQL INNER GABUNG MySQL KIRI GABUNG MySQL BENAR GABUNG MySQL CROSS JOIN Gabung Sendiri MySQL MySQL UNION MySQL GROUP OLEH MySQL MEMILIKI MySQL ADA MySQL APAPUN, SEMUA MySQL INSERT SELECT KASUS MySQL Fungsi Null MySQL Komentar MySQL Operator MySQL

Database MySQL

MySQL Buat DB MySQL Drop DB MySQL Buat Tabel Tabel Drop MySQL Tabel Ubah MySQL Batasan MySQL MySQL Bukan Null MySQL Unik Kunci Utama MySQL Kunci Asing MySQL Pemeriksaan MySQL Standar MySQL MySQL Buat Indeks Peningkatan Otomatis MySQL Tanggal MySQL Tampilan MySQL

Referensi MySQL

Tipe Data MySQL Fungsi MySQL

Contoh MySQL

Contoh MySQL Kuis MySQL Latihan MySQL

Batasan KUNCI ASING MySQL


Batasan KUNCI ASING MySQL

Batasan FOREIGN KEYdigunakan untuk mencegah tindakan yang akan menghancurkan tautan antar tabel.

A FOREIGN KEYadalah bidang (atau kumpulan bidang) dalam satu tabel, yang merujuk ke PRIMARY KEYdalam tabel lain.

Tabel dengan kunci asing disebut tabel anak, dan tabel dengan kunci utama disebut tabel referensi atau tabel induk.

Perhatikan dua tabel berikut ini:

Meja Orang

PersonID LastName FirstName Age
1 Hansen Ola 30
2 Svendson Tove 23
3 Pettersen Kari 20

Tabel Pesanan

OrderID OrderNumber PersonID
1 77895 3
2 44678 3
3 22456 2
4 24562 1

Perhatikan bahwa kolom "PersonID" di tabel "Pesanan" menunjuk ke kolom "PersonID" di tabel "Orang".

Kolom "PersonID" di tabel "Orang" adalah PRIMARY KEYdi tabel "Orang".

Kolom "PersonID" di tabel "Pesanan" adalah FOREIGN KEYdi tabel "Pesanan".

Batasan FOREIGN KEYmencegah data yang tidak valid dimasukkan ke dalam kolom kunci asing, karena itu harus menjadi salah satu nilai yang terkandung dalam tabel induk.



KUNCI ASING pada CREATE TABLE

SQL berikut membuat FOREIGN KEYpada kolom "PersonID" saat tabel "Pesanan" dibuat:

CREATE TABLE Orders (
    OrderID int NOT NULL,
    OrderNumber int NOT NULL,
    PersonID int,
    PRIMARY KEY (OrderID),
    FOREIGN KEY (PersonID) REFERENCES Persons(PersonID)
);

Untuk mengizinkan penamaan FOREIGN KEYbatasan, dan untuk mendefinisikan FOREIGN KEYbatasan pada beberapa kolom, gunakan sintaks SQL berikut:

CREATE TABLE Orders (
    OrderID int NOT NULL,
    OrderNumber int NOT NULL,
    PersonID int,
    PRIMARY KEY (OrderID),
    CONSTRAINT FK_PersonOrder FOREIGN KEY (PersonID)
    REFERENCES Persons(PersonID)
);

KUNCI ASING di ALTER TABLE

Untuk membuat FOREIGN KEYbatasan pada kolom "PersonID" saat tabel "Pesanan" sudah dibuat, gunakan SQL berikut:

ALTER TABLE Orders
ADD FOREIGN KEY (PersonID) REFERENCES Persons(PersonID);

Untuk mengizinkan penamaan FOREIGN KEYbatasan, dan untuk mendefinisikan FOREIGN KEYbatasan pada beberapa kolom, gunakan sintaks SQL berikut:

ALTER TABLE Orders
ADD CONSTRAINT FK_PersonOrder
FOREIGN KEY (PersonID) REFERENCES Persons(PersonID);

JATUHKAN Hambatan KUNCI ASING

Untuk FOREIGN KEYmenghilangkan batasan, gunakan SQL berikut:

ALTER TABLE Orders
DROP FOREIGN KEY FK_PersonOrder;