


Bagaimana untuk Menyelesaikan Ralat 'Kekangan Kunci Asing Gagal' dalam MySQL?
Mengatasi Ralat "Kekangan Kunci Asing Gagal" dalam MySQL
Apabila menambahkan kunci asing pada jadual sedia ada yang merujuk yang lain, adalah penting untuk memastikan baris yang dirujuk wujud dalam jadual induk. Jika tidak, ralat "Tidak boleh menambah atau mengemas kini baris anak: kekangan kunci asing gagal" boleh berlaku.
Dalam kes yang disediakan, anda cuba menambah kunci asing (sourcecode_id) dalam jadual sourcecodes_tags yang merujuk jadual kod sumber. Walau bagaimanapun, berdasarkan pertanyaan SHOW CREATE TABLE anda, nampaknya tiada kunci asing yang ditakrifkan pada jadual sourcecodes_tags yang merujuk kepada jadual kod sumber.
Mesej ralat menunjukkan bahawa terdapat pelanggaran kunci asing, bermakna beberapa sourcecode_id nilai dalam jadual sourcecodes_tags tidak wujud dalam jadual sourcecodes. Untuk menyelesaikan isu ini, anda perlu mengenal pasti dan mengalih keluar rekod yatim tersebut.
Mengenalpasti Rekod Anak Yatim
Untuk mencari nilai sourcecode_id yang tidak wujud dalam jadual kod sumber, anda boleh menggunakan pertanyaan berikut:
SELECT DISTINCT sourcecode_id FROM sourcecodes_tags tags LEFT JOIN sourcecodes sc ON tags.sourcecode_id=sc.id WHERE sc.id IS NULL;
Pertanyaan ini akan mengembalikan nilai sourcecode_id yang bukan dikaitkan dengan mana-mana baris dalam jadual kod sumber.
Mengalih keluar Rekod Anak Yatim
Setelah anda mengenal pasti rekod yatim, anda boleh memadamkannya menggunakan pernyataan PADAM:
DELETE FROM sourcecodes_tags WHERE sourcecode_id IN ( SELECT DISTINCT sourcecode_id FROM sourcecodes_tags tags LEFT JOIN sourcecodes sc ON tags.sourcecode_id=sc.id WHERE sc.id IS NULL );
Selepas mengalih keluar rekod yatim, anda sepatutnya boleh menambah kekangan kunci asing tanpa sebarang masalah.
ALTER TABLE sourcecodes_tags ADD FOREIGN KEY (sourcecode_id) REFERENCES sourcecodes (id) ON DELETE CASCADE ON UPDATE CASCADE;
Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan Ralat 'Kekangan Kunci Asing Gagal' dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

TODROPAVIEWInMYSQL, gunakan "dropviewififeXistsview_name;" andTomodifyAview, gunakan "createorreplaceviewview_nameasSelect ..."

Mysqlviewscaneffectivetyutilizedesignpatternslikeadapter, penghias, kilang, andobserver.1) adapterpaternaptsdatafromdifferenttablesintoaunifiedview.2)

ViewsinmysqlarebeneficialforsImplifingceMlexqueries, Enhancingsecurity, MemastikanDataconsistency, andoptimizingperformance

TOCREATEASIMPLEVIEWInMYSQL, USETHECreatEviewStatement.1) definetheViewWithCreateViewView_nameas.2)

TOCReateUsersinMysql, UsethecreateUserStatement.1) Foralocaluser: createuser'localuser '@' localhost'identifiedby'SecureShword '; 2) foraremoteuser: createuser'remoteuser'@'%'

Mysqlviewshavelimitations: 1) theDon'tsupportallsqloperations, bintikDatamanipulationThroughviewswithjoinsorsubqueries.2) merekacanimpactperformance, terutamanya dengan komplekssum

Betul -betul

Mysqldoes'timposeahardlimitontriggers, butpracticalfactorsDeterminetheirefectiveus


Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Pelayar Peperiksaan Selamat
Pelayar Peperiksaan Selamat ialah persekitaran pelayar selamat untuk mengambil peperiksaan dalam talian dengan selamat. Perisian ini menukar mana-mana komputer menjadi stesen kerja yang selamat. Ia mengawal akses kepada mana-mana utiliti dan menghalang pelajar daripada menggunakan sumber yang tidak dibenarkan.

Versi Mac WebStorm
Alat pembangunan JavaScript yang berguna

Dreamweaver CS6
Alat pembangunan web visual

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

MantisBT
Mantis ialah alat pengesan kecacatan berasaskan web yang mudah digunakan yang direka untuk membantu dalam pengesanan kecacatan produk. Ia memerlukan PHP, MySQL dan pelayan web. Lihat perkhidmatan demo dan pengehosan kami.
