Batasan Kunci Asing membantu Anda mempertahankan integritas referensial dalam database, dan menautkan tabel terkait untuk kueri yang lebih mudah. Berikut cara menghapus batasan kunci asing menggunakan perintah MySQL DROP FOREIGN KEY Show
Cara DROP Batasan FOREIGN KEY di MySQLBerikut adalah langkah-langkah untuk menghapus batasan kunci asing di MySQL Berikut sintaks untuk pernyataan DROP FOREIGN KEY ALTER TABLE table_name DROP FOREIGN KEY constraint_name; Dalam kueri kunci asing lepas di atas, tentukan nama_tabel dari mana Anda ingin menghapus kunci asing, sebagai ganti nama_tabel. Tentukan nama kendala sebagai ganti nama_batasan Kunci asing digunakan untuk menghubungkan satu atau lebih dari satu tabel secara bersamaan. Ini juga dikenal sebagai kunci referensi. Kunci asing cocok dengan bidang kunci utama dari tabel lain. Ini berarti bidang kunci asing dalam satu tabel mengacu pada bidang kunci utama dari tabel lainnya. Ini mengidentifikasi setiap baris dari tabel lain secara unik yang mempertahankan integritas referensial di MySQL Kunci asing memungkinkan untuk membuat hubungan induk-anak dengan tabel. Dalam hubungan ini, tabel induk menampung nilai kolom awal, dan nilai kolom tabel anak mereferensikan nilai kolom induk. MySQL memungkinkan kita untuk menentukan batasan kunci asing pada tabel anak MySQL mendefinisikan kunci asing dalam dua cara
SintaksisBerikut ini adalah sintaks dasar yang digunakan untuk mendefinisikan kunci asing menggunakan pernyataan CREATE TABLE OR ALTER TABLE di MySQL Dalam sintaks di atas, kita dapat melihat parameter berikut constraint_name. Ini menentukan nama batasan kunci asing. Jika kami belum memberikan nama batasan, MySQL akan membuat namanya secara otomatis nama_kolom. Ini adalah nama kolom yang akan kita jadikan kunci asing parent_tbl_name. Ini menentukan nama tabel induk diikuti dengan nama kolom yang mereferensikan kolom kunci asing Referensi_option. Ini digunakan untuk memastikan bagaimana kunci asing mempertahankan integritas referensial menggunakan klausa ON DELETE dan ON UPDATE antara tabel induk dan anak MySQL berisi lima pilihan referensi yang berbeda, yang diberikan di bawah ini RIAM. Ini digunakan ketika kita menghapus atau memperbarui baris apa pun dari tabel induk, nilai baris yang cocok di tabel anak akan dihapus atau diperbarui secara otomatis SET NULL. Ini digunakan saat kita menghapus atau memperbarui baris apa pun dari tabel induk, nilai kolom kunci asing di tabel anak disetel ke NULL MEMBATASI. Ini digunakan ketika kita menghapus atau memperbarui baris apa pun dari tabel induk yang memiliki baris yang cocok di tabel referensi (anak), MySQL tidak mengizinkan untuk menghapus atau memperbarui baris di tabel induk TIDAK ADA TINDAKAN. Ini mirip dengan MEMBATASI. Tetapi ada satu perbedaan yang memeriksa integritas referensial setelah mencoba memodifikasi tabel SET STANDAR. Parser MySQL mengenali tindakan ini. Namun, tabel InnoDB dan NDB menolak tindakan ini CATATAN. MySQL terutama memberikan dukungan penuh untuk tindakan CASCADE, RESTRICT, dan SET NULL. Jika kita belum menentukan klausa ON DELETE dan ON UPDATE, MySQL mengambil tindakan default RESTRICTContoh Kunci AsingMari kita pahami cara kerja kunci asing di MySQL. Jadi pertama, kita akan membuat database bernama "mysqltestdb" dan mulai menggunakannya dengan perintah di bawah ini Selanjutnya, kita perlu membuat dua tabel bernama "pelanggan" dan "kontak" menggunakan pernyataan di bawah ini Meja. pelanggan Meja. kontak Verifikasi Struktur TabelDi sini, kita akan melihat bagaimana struktur database kita menggunakan query berikut Kita akan mendapatkan struktur seperti di bawah ini Pada keluaran di atas, kita dapat melihat bahwa PRI di kolom kunci tabel pelanggan menyatakan bahwa bidang ini adalah nilai indeks utama. Selanjutnya, MUL di kolom kunci dari nilai kontak memberi tahu bahwa kolom Customer_Id dapat menyimpan banyak baris dengan nilai yang sama Masukkan Data ke TabelSekarang, kita harus memasukkan record ke dalam kedua tabel. Jalankan pernyataan ini untuk memasukkan data ke dalam tabel pelanggan Setelah penyisipan, jalankan perintah SELECT TABLE untuk memeriksa data tabel pelanggan seperti di bawah ini Jalankan pernyataan sisipkan di bawah ini untuk menambahkan data ke kontak tabel Tabel kontak kami terlihat seperti di bawah ini Sekarang, mari kita lihat bagaimana kunci asing di MySQL menjaga integritas data Jadi di sini, kita akan menghapus data referensial yang menghapus record dari kedua tabel. Kami telah mendefinisikan kunci asing di tabel kontak sebagai Artinya jika kita menghapus catatan pelanggan dari tabel pelanggan, maka catatan terkait di tabel kontak juga harus dihapus. Dan ON UPDATE CASCADE akan memperbarui secara otomatis pada tabel induk ke bidang yang direferensikan pada tabel anak (Ini adalah Customer_Id) Jalankan pernyataan ini yang menghapus catatan dari tabel yang bernama JOHN Sekali lagi, jika kita melihat tabel kita, kita dapat melihat bahwa kedua tabel telah diubah. Ini berarti bidang dengan nama JOHN akan dihapus seluruhnya dari kedua tabel Sekarang, uji ON UPDATE CASCADE. Di sini, kami akan memperbarui Customer_Id Mary di tabel kontak sebagai Sekali lagi, jika kita melihat tabel kita, kita dapat melihat bahwa kedua tabel diubah dengan Customer_Id of Mary=3 Contoh Kunci Asing menggunakan tindakan SET NULLDi sini, kita akan memahami bagaimana aksi SET NULL bekerja dengan kunci asing. Pertama, kita harus membuat dua tabel bernama Orang dan Kontak, seperti yang ditunjukkan di bawah ini Meja. Orang Meja. Pelanggan Selanjutnya, kita perlu memasukkan data ke dalam kedua tabel menggunakan pernyataan berikut Sekarang, perbarui ID tabel "Orang". Terakhir, verifikasi pembaruan menggunakan pernyataan SELECT yang diberikan di bawah ini Jika kita melihat tabel kita, kita dapat melihat bahwa kedua tabel telah diubah. Baris dengan Person_Id=3 di tabel Kontak secara otomatis diatur ke NULL karena tindakan ON UPDATE SET NULL Cara DROP Kunci AsingMySQL mengizinkan pernyataan ALTER TABLE untuk menghapus kunci asing yang ada dari tabel. Sintaks berikut digunakan untuk menjatuhkan kunci asing Di sini, nama_tabel adalah nama tabel tempat kita akan menghapus kunci asing. Constraint_name adalah nama kunci asing yang ditambahkan selama pembuatan tabel Jika kita belum mengetahui nama dari foreign key yang ada ke dalam tabel, jalankan perintah berikut Ini akan memberikan output seperti di bawah ini di mana kita dapat melihat bahwa kontak tabel memiliki satu kunci asing bernama fk_customer yang ditunjukkan dalam kotak merah Sekarang, untuk menghapus batasan kunci asing ini dari tabel kontak, jalankan pernyataan seperti di bawah ini Kami dapat memverifikasi apakah batasan kunci asing dihapus atau tidak, gunakan pernyataan SHOW CREATE TABLE. Ini akan memberikan output seperti di bawah ini dimana kita dapat melihat bahwa kunci asing tidak lagi tersedia di kontak tabel Tentukan Kunci Asing Menggunakan Pernyataan ALTER TABLEPernyataan ini memungkinkan kita untuk melakukan modifikasi pada tabel yang ada. Terkadang ada kebutuhan untuk menambahkan kunci asing ke kolom tabel yang sudah ada; Sintaksis Berikut adalah sintaks pernyataan ALTER TABLE untuk menambahkan kunci asing di tabel yang ada Saat kami menambahkan kunci asing menggunakan pernyataan ALTER TABLE, disarankan untuk terlebih dahulu membuat indeks pada kolom, yang direferensikan oleh kunci asing Contoh Pernyataan berikut membuat dua tabel, "Orang" dan "Kontak", tanpa memiliki kolom kunci asing ke dalam definisi tabel Meja. Orang Meja. Kontak Setelah membuat tabel, jika kita ingin menambahkan kunci asing ke tabel yang sudah ada, kita perlu mengeksekusi pernyataan ALTER TABLE seperti di bawah ini Pemeriksaan Kunci AsingMySQL memiliki variabel khusus foreign_key_cheks untuk mengontrol pemeriksaan kunci asing ke dalam tabel. Secara default, diaktifkan untuk menegakkan integritas referensial selama operasi normal pada tabel. Variabel ini bersifat dinamis sehingga mendukung cakupan global dan sesi keduanya Bagaimana cara menghapus kunci asing di MySQL?Menghilangkan Batasan Kunci Asing
. ALTER TABLE tbl_name DROP FOREIGN KEY fk_symbol; Jika klausa FOREIGN KEY menentukan nama CONSTRAINT saat Anda membuat batasan, Anda dapat merujuk ke nama tersebut untuk menghapus .
Bagaimana saya bisa menghapus kunci asing?Untuk menghapus batasan kunci asing . Di Object Explorer, perluas tabel dengan batasan lalu perluas Kunci Klik kanan pembatas lalu klik Hapus Di kotak dialog Hapus Objek, klik OK Bagaimana cara menonaktifkan batasan kunci asing di meja kerja MySQL?Anda dapat menonaktifkan pemeriksaan kunci asing di MySQL dengan mengatur variabel sistem foreign_key_checks ke 0 . Namun, perlu diketahui, setelah Anda mengaktifkan pemeriksaan kunci asing, MySQL tidak akan memvalidasi ulang data yang ada yang Anda tambahkan setelah menonaktifkan pemeriksaan kunci asing.
Bagaimana cara menghapus hubungan di meja kerja MySQL?Klik tombol Hapus di bilah alat untuk menghapus hubungan yang dipilih. Sebelum MySQL/InnoDB-4. 0. . Klik ikon "Hubungan/Kunci Asing", atau Klik kanan pada tabel (di Object Browser) dan pilih opsi menu "Relationships/Foreign Keys", atau Tekan tombol F10 |