Lajur kunci 'column_name' tidak wujud dalam jadual - Bagaimana untuk menyelesaikan ralat MySQL: lajur kunci tidak wujud dalam jadual

WBOY
Lepaskan: 2023-10-05 19:05:05
asal
1501 orang telah melayarinya

Key column 'column_name' doesn't exist in table - 如何解决MySQL报错:键列在表中不存在

Tajuk: Cara menyelesaikan ralat MySQL: Lajur kunci tidak wujud dalam jadual, contoh kod khusus diperlukan

Teks:
Apabila menggunakan pangkalan data MySQL untuk pembangunan atau pengurusan, anda sering menghadapi pelbagai ralat. Salah satu ralat biasa ialah lajur kunci tidak wujud dalam jadual, iaitu lajur kunci 'column_name' tidak wujud dalam jadual. Ralat ini biasanya berlaku apabila menggunakan indeks atau kunci asing untuk pertanyaan atau operasi. Artikel ini akan menerangkan secara terperinci cara menyelesaikan ralat ini dan memberikan contoh kod khusus.

Pertama, kita perlu memahami punca kesilapan ini. Ralat ini biasanya berlaku disebabkan oleh situasi berikut:

  1. Ralat nama lajur: Apabila menggunakan indeks atau kunci asing untuk pertanyaan atau operasi, jika nama lajur yang ditentukan tidak wujud dalam jadual yang sepadan, ralat ini akan dicetuskan.
  2. Ketakpadanan jenis data: Jika jenis data lajur tidak sepadan dengan indeks atau jenis data kunci asing yang digunakan semasa operasi indeks atau kunci asing, ralat ini juga akan dicetuskan.
  3. Masalah struktur jadual: Jika terdapat masalah struktur jadual semasa proses mencipta indeks atau kunci asing, seperti lajur yang dinyatakan semasa mencipta indeks tidak wujud atau lajur berkaitan yang dinyatakan semasa mencipta kunci asing tidak wujud, dan lain-lain, ralat ini juga akan berlaku.

Seterusnya, kami akan memberikan contoh kod khusus untuk menyelesaikan ralat ini berdasarkan sebab ini.

  1. Ralat Nama Lajur:
    Secara amnya, ralat ini boleh diselesaikan dengan menyemak sama ada nama lajur dieja dengan betul. Berikut ialah contoh kod:
CREATE TABLE table_name (
    column1 INT,
    column2 VARCHAR(50),
    column3 INT
);

SELECT * FROM table_name WHERE column4 = 1;
Salin selepas log masuk

Dalam kod di atas, kami cuba membuat pertanyaan menggunakan nama lajur yang tidak wujud lajur4, yang akan mencetuskan ralat bahawa lajur kunci tidak wujud dalam jadual. Penyelesaian kepada ralat ini adalah dengan menyemak ejaan nama lajur dan membetulkannya.

  1. Ketakpadanan jenis data:
    Jika jenis data lajur yang ditentukan tidak sepadan dengan jenis indeks yang digunakan semasa membuat indeks, ia juga akan menyebabkan ralat bahawa lajur kunci tidak wujud dalam jadual. Berikut ialah contoh kod:
CREATE TABLE table_name (
    column1 INT,
    column2 BINARY(16),
    column3 INT
);

CREATE INDEX index_name ON table_name (column1, column2);
Salin selepas log masuk

Dalam kod di atas, kami cuba mencipta nama_indeks indeks yang merangkumi lajur lajur1 jenis INT dan lajur lajur2 jenis BINARI(16). Lajur kunci tidak wujud dalam ralat jadual dicetuskan kerana ketidakpadanan jenis data. Penyelesaian kepada ralat ini adalah untuk memastikan bahawa lajur yang digunakan semasa membuat indeks sepadan dengan jenis indeks.

  1. Masalah struktur jadual:
    Semasa proses membuat indeks atau kunci asing, jika terdapat masalah dengan struktur jadual, ia juga akan mencetuskan ralat bahawa lajur kunci tidak wujud dalam jadual. Berikut ialah contoh kod:
CREATE TABLE table1 (
    column1 INT PRIMARY KEY,
    column2 INT,
    column3 INT
);

CREATE TABLE table2 (
    column4 INT,
    FOREIGN KEY (column4) REFERENCES table1(column5)
);
Salin selepas log masuk

Dalam kod di atas, kami cuba mencipta kunci asing dalam jadual table2 untuk mengaitkan lajur 4 dengan lajur 5 jadual table1. Walau bagaimanapun, oleh kerana lajur lajur5 tidak wujud dalam jadual jadual1, ralat bahawa lajur kunci tidak wujud dalam jadual akan dicetuskan. Penyelesaian kepada ralat ini adalah untuk memastikan bahawa lajur yang dikaitkan dengan kunci asing wujud dalam jadual yang sepadan semasa mencipta kunci asing.

Ringkasnya, apabila menemui mesej ralat MySQL bahawa lajur kunci tidak wujud dalam jadual, kita perlu menyemak ejaan nama lajur, padanan jenis data dan integriti struktur jadual. Ralat ini boleh diselesaikan dengan membuat pembetulan yang sepadan mengikut situasi tertentu. Pada masa yang sama, adalah disyorkan untuk mengekalkan konvensyen penamaan yang baik dan ketekalan jenis data semasa membangunkan atau mengurus pangkalan data untuk mengelakkan ralat ini.

Atas ialah kandungan terperinci Lajur kunci 'column_name' tidak wujud dalam jadual - Bagaimana untuk menyelesaikan ralat MySQL: lajur kunci tidak wujud dalam jadual. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan