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
Lepaskan: 2024-11-30 12:01:11
asal
362 orang telah melayarinya

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;
    Salin selepas log masuk

    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 Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan