Kunci asing MySQL digunakan terutamanya untuk mewujudkan hubungan antara jadual induk dan jadual hamba, mewujudkan sambungan untuk data kedua-dua jadual, dan mengekang ketekalan dan integriti data dalam dua jadual; peranannya adalah untuk memastikan data konsisten Tujuan utama adalah untuk mengawal data yang disimpan dalam jadual kunci asing. Sesuatu jadual boleh mempunyai satu atau lebih kunci asing, dan kunci asing boleh menjadi batal Jika ia tidak batal, nilai setiap kunci asing mestilah sama dengan nilai tertentu kunci utama dalam jadual utama.
Persekitaran pengendalian tutorial ini: sistem windows7, versi mysql8, komputer Dell G3.
Kekangan kunci asing MySQL (KUNCI ASING) ialah medan khas jadual, sering digunakan bersama dengan kekangan kunci utama. Untuk dua jadual dengan perhubungan yang berkaitan, jadual tempat kunci utama dalam medan yang berkaitan terletak ialah jadual utama (jadual induk), dan jadual tempat kunci asing terletak ialah jadual kedua (jadual anak).
Peranan kunci asing MySQL:
Mengekalkan konsistensi dan integriti data Tujuan utama adalah untuk mengawal data yang disimpan dalam jadual kunci asing. Untuk mengaitkan dua jadual, kunci asing hanya boleh merujuk nilai lajur dalam jadual!
Kunci asing digunakan untuk mewujudkan hubungan antara jadual induk dan jadual hamba, mewujudkan sambungan untuk data dalam dua jadual, dan mengekang ketekalan dan integriti data dalam dua jadual. Sebagai contoh, sebuah gerai buah hanya mempunyai empat jenis buah: epal, pic, plum, dan tembikai Kemudian, apabila anda datang ke gerai buah-buahan untuk membeli buah-buahan, anda hanya boleh memilih epal, pic, plum, dan buah-buahan lain tidak tersedia untuk pembelian.
Apabila rekod dipadamkan daripada jadual utama, rekod yang sepadan daripada jadual juga mesti ditukar sewajarnya. Sesuatu jadual boleh mempunyai satu atau lebih kunci asing, dan kunci asing boleh menjadi batal Jika ia tidak batal, nilai setiap kunci asing mestilah sama dengan nilai tertentu kunci utama dalam jadual utama.
Apabila mentakrifkan kunci asing, peraturan berikut perlu dipatuhi:
Jadual utama mesti sudah wujud dalam pangkalan data, atau jadual yang sedang dibuat. Jika ia adalah kes kedua, jadual induk dan jadual hamba adalah jadual yang sama dipanggil jadual rujukan sendiri, dan struktur ini dipanggil integriti rujukan sendiri.
Mesti menentukan kunci utama untuk jadual utama.
Kunci utama tidak boleh mengandungi nilai nol, tetapi nilai null dibenarkan dalam kunci asing. Iaitu, selagi setiap nilai bukan nol kunci asing muncul dalam kunci utama yang ditentukan, kandungan kunci asing adalah betul.
Nyatakan nama lajur atau gabungan nama lajur selepas nama jadual jadual utama. Lajur atau gabungan lajur ini mestilah kunci utama atau kunci calon jadual utama.
Bilangan lajur dalam kunci asing mestilah sama dengan bilangan lajur dalam kunci utama jadual utama.
Jenis data lajur dalam kunci asing mestilah sama dengan jenis data lajur yang sepadan dalam kunci utama jadual utama.
Tambah kekangan kunci asing apabila mengubah suai jadual
Prasyarat untuk menambah kekangan kunci asing ialah: daripada asing kunci dalam jadual Data dalam lajur mestilah konsisten dengan data dalam lajur kunci primer dalam jadual utama atau tiada data.
Format sintaks untuk menambah kekangan kunci asing semasa mengubah suai jadual data adalah seperti berikut:
ALTER TABLE <数据表名> ADD CONSTRAINT <外键名> FOREIGN KEY(<列名>) REFERENCES <主表名> (<列名>);
Contoh: Ubah suai jadual data tb_emp2 dan tetapkan deptId medan sebagai kunci asing. Dikaitkan dengan id kunci utama jadual data tb_dept1
ALTER TABLE tb_emp2 ADD CONSTRAINT fk_tb_dept1 FOREIGN KEY(deptId)REFERENCES tb_dept1(id);
Padamkan kekangan kunci asing
Apabila Apabila kekangan kunci asing tidak lagi diperlukan dalam jadual, ia perlu dipadamkan daripada jadual. Sebaik sahaja kunci asing dipadamkan, perkaitan antara jadual induk dan jadual hamba akan dikeluarkan.
Format sintaks untuk memadamkan kekangan kunci asing adalah seperti berikut:
ALTER TABLE <表名> DROP FOREIGN KEY <外键约束名>;
Contoh: Padamkan kekangan kunci asing fk_tb_dept1 dalam jadual data tb_emp2
ALTER TABLE tb_emp2 DROP FOREIGN KEY fk_tb_dept1;
[Cadangan berkaitan: tutorial video mysql]
Atas ialah kandungan terperinci Apakah kegunaan kunci asing mysql?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!