Rumah >pangkalan data >tutorial mysql >Mengapa Saya Mendapat Ralat MySQL 1005: Tidak Dapat Mencipta Jadual (Isu Kekangan Kunci Asing)?

Mengapa Saya Mendapat Ralat MySQL 1005: Tidak Dapat Mencipta Jadual (Isu Kekangan Kunci Asing)?

Barbara Streisand
Barbara Streisandasal
2024-11-30 12:01:11225semak imbas

Why Am I Getting MySQL Error 1005: Can't Create Table  (Foreign Key Constraint Issue)?

Ralat Kekangan Kunci Asing MySQL: ERROR: Ralat 1005: Tidak dapat mencipta jadual

Isu:

Semasa mencuba untuk memajukan jurutera skema pangkalan data ke pelayan WAMP, pengguna menghadapi "ERROR: Ralat 1005: Tidak dapat mencipta jadual" khusus untuk jadual "Pautan".

Penyelesaian:

Ralat menunjukkan pelanggaran kekangan yang melibatkan perhubungan utama asing. Untuk menyelesaikan isu ini:

  1. Semak Kekangan Utama Asing: Laksanakan pertanyaan SQL yang disediakan dalam penyelesaian:

    SELECT
        constraint_name,
        table_name
    FROM
        information_schema.table_constraints
    WHERE
        constraint_type = 'FOREIGN KEY'
    AND table_schema = DATABASE()
    ORDER BY
        constraint_name;

    Periksa keputusan untuk mengenal pasti sebarang kekangan kunci asing yang dikaitkan dengan "Pautan" jadual.

  2. Sahkan Nama Kekangan: Pastikan kekangan kunci asing pada jadual "Pautan" tidak berkongsi nama dengan kekangan yang ditakrifkan pada jadual lain. Jika ya, namakan semula kekangan kepada nama unik.
  3. Semak Rujukan Lajur: Sahkan bahawa lajur yang dirujuk dalam kekangan kunci asing wujud dalam jadual induk dan mempunyai jenis data yang serasi.
  4. Semak Jadual Rujukan: Sahkan bahawa jadual induk dirujuk dalam kekangan kunci asing sebenarnya wujud dalam pangkalan data.
  5. Semak Semula Sintaks: Semak skrip SQL yang digunakan untuk mencipta jadual "Pautan" dan pastikan tiada ralat sintaks.
  6. Pastikan Susunan Lajur Betul: Pastikan susunan lajur dalam jadual "Pautan" sepadan susunan lajur dalam jadual induk.
  7. Mulakan Semula Pelayan MySQL: Dalam sesetengah kes, memulakan semula pelayan MySQL boleh menyelesaikan isu ini.
  8. Periksa Ralat Log: Semak log ralat MySQL untuk butiran yang lebih khusus tentang kekangan pelanggaran.

Petua Tambahan:

  • Gunakan nama kekangan deskriptif untuk penyelesaian masalah yang lebih mudah.
  • Pertimbangkan menggunakan alat pemodelan pangkalan data untuk hasilkan skrip skema untuk meminimumkan ralat.
  • Uji skema pada pangkalan data pembangunan yang berasingan sebelum menggunakannya ke persekitaran pengeluaran.

Atas ialah kandungan terperinci Mengapa Saya Mendapat Ralat MySQL 1005: Tidak Dapat Mencipta Jadual (Isu Kekangan Kunci Asing)?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn