Rumah >pangkalan data >tutorial mysql >Mengapa Saya Mendapat Ralat \'Tidak boleh menulis; kunci pendua dalam jadual\' (Ralat 1022) Semasa Mencipta Jadual MySQL?
Penduaan Dikesan: Kegagalan Penciptaan Jadual MySQL (Ralat 1022)
Semasa cuba mencipta jadual menggunakan MySQL Workbench, pengguna mungkin menghadapi masalah yang digeruni ralat 1022: "Tidak boleh menulis; kunci pendua dalam jadual." Isu ini timbul walaupun pernyataan SQL yang kelihatan mudah digunakan untuk penciptaan jadual. Apabila diteliti lebih dekat, masalahnya menjadi jelas:
Pelakunya: Nama Kunci Asing Yang Sama
Mesej ralat berpunca daripada kehadiran berbilang kunci asing dengan nama yang sama dalam model pangkalan data yang sama. Untuk memahami konsep ini, pertimbangkan analogi berikut:
Isu timbul apabila dua kunci asing berbeza dalam jadual berbeza merujuk lajur yang sama dalam jadual induk. Sama seperti pekerja tidak boleh bekerja dalam dua jabatan serentak, baris jadual anak tidak boleh mempunyai berbilang kunci asing yang menghala ke baris jadual induk yang berbeza.
Contoh Fizikal
Pertimbangkan model pangkalan data berikut:
Jika kedua-dua jadual mengandungi kunci asing bernama "id_pembekal" yang merujuk kepada jadual "Pembekal", MySQL akan mengembalikan ralat 1022. Untuk menyelesaikannya isu ini, adalah penting untuk memberikan nama unik kepada kunci asing.
Menyelesaikan Konflik Penamaan
Untuk membetulkan ralat, ikut langkah berikut:
Dengan menangani konflik penamaan dalam kunci asing, anda boleh berjaya mencipta jadual yang dikehendaki dan mengelakkan "Tidak boleh menulis; ralat kunci pendua dalam jadual".
Atas ialah kandungan terperinci Mengapa Saya Mendapat Ralat \'Tidak boleh menulis; kunci pendua dalam jadual\' (Ralat 1022) Semasa Mencipta Jadual MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!