Ralat MySQL 1022: Menentukan Penduaan
Menghadapi ralat MySQL 1022 semasa mencipta jadual boleh membingungkan, terutamanya jika pernyataan SQL kelihatan sah . Mari kita mendalami isu ini dan mengenal pasti punca asas.
Dalam SQL yang disediakan, dinyatakan bahawa hanya terdapat satu kunci yang ditentukan untuk jadual. Walau bagaimanapun, masalahnya nampaknya terletak pada definisi kunci asing. MySQL membuang ralat 1022 apabila cuba memasukkan kunci pendua semasa pembuatan jadual.
Isu ini berpunca daripada fakta bahawa nama kunci asing (error_id) adalah sama dengan nama kunci asing lain di tempat lain dalam model. Untuk memahami perkara ini, pertimbangkan senario berikut:
Kini, jika kedua-dua kunci asing mempunyai nama yang sama ("pembekal"), MySQL mentafsir ini sebagai "perlanggaran" dalam bahasa asing nama kunci. Untuk menyelesaikan masalah, setiap kunci asing perlu mempunyai nama unik dalam keseluruhan skema.
Sebagai contoh, anda boleh menggunakan nama yang berbeza seperti:
Dengan membezakan nama kunci asing, MySQL boleh membezakan antara mereka dan mengendalikan integriti rujukan dengan betul semasa mencipta jadual .
Atas ialah kandungan terperinci Ralat MySQL 1022: Mengapa Saya Mendapat Ralat Kunci Pendua Semasa Mencipta Jadual?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!