Rumah > pangkalan data > tutorial mysql > Mengapa Saya Mendapat Ralat MySQL 1005: Tidak Dapat Mencipta Jadual?

Mengapa Saya Mendapat Ralat MySQL 1005: Tidak Dapat Mencipta Jadual?

Barbara Streisand
Lepaskan: 2024-12-11 07:55:10
asal
943 orang telah melayarinya

Why Am I Getting MySQL Error 1005: Can't Create Table?

Tidak Dapat Mencipta Ralat Jadual: Menyelesaikan masalah "Kod Ralat: 1005. Tidak dapat mencipta jadual '...'"

Ini ralat dalam MySQL berlaku apabila percubaan dibuat untuk mencipta jadual tetapi menghadapi masalah, dilambangkan dengan kod ralat 1005. Masalah khusus berkaitan kepada rujukan kunci asing.

Punca Potensi:

  • Medan Kunci Tidak Padan: Pastikan jenis dan saiz medan kunci utama dalam jadual yang dirujuk padankan tepat dengan medan kunci asing. Semak percanggahan dalam saiz (cth., INT lwn. BIGINT) atau status ditandatangani/tidak ditandatangani.
  • Indeks Hilang atau Kunci Bukan Utama: Cipta indeks pada medan kunci yang dirujuk jika tidak tidak mempunyai satu atau bukan kunci utama.
  • Kunci Asing Pendua Nama: Sahkan bahawa nama kunci asing adalah unik dalam pangkalan data. Tambahkan aksara rawak pada penghujung nama kunci untuk menguji ini.
  • Jenis Jadual Bukan InnoDB: Hubungan kunci asing memerlukan kedua-dua jadual daripada jenis InnoDB. Tukar jadual MyISAM kepada InnoDB.
  • NULL Konflik Kekangan: Pastikan medan utama yang dirujuk tidak mempunyai kekangan NOT NULL semasa menggunakan lata ON DELETE SET NULL. Benarkan nilai NULL jika perlu.
  • Charset/Collation mispatch: Semak sama ada kedua-dua jadual dan lajur utamanya menggunakan set aksara dan tetapan penyusunan yang sama.
  • Lalai Nilai pada Kunci Asing: Alih keluar sebarang nilai lalai yang ditetapkan pada lajur kunci asing, kerana ini boleh mengganggu merujuk.
  • Kunci Komposit Tanpa Indeks Individu: Cipta indeks berasingan untuk setiap medan kunci yang digunakan dalam kunci komposit, walaupun ia sudah diindeks sebagai sebahagian daripada komposit.
  • Sintaks Salah atau Nama Medan Salah Taip: Sahkan sintaks pernyataan ALTER anda dan semak kesilapan silap dalam nama medan yang terlibat dalam perhubungan.
  • Panjang Nama Kunci Asing Melebihi Had: Nama kunci asing hendaklah dalam had 64 aksara.

Untuk butiran lanjut dan penyelesaian yang berpotensi, rujuk dokumentasi MySQL: MySQL Error Number 1005 Can't create meja.

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

sumber:php.cn
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