Rumah > Artikel > pangkalan data > Kiraan lajur tidak sepadan dengan kiraan nilai pada baris 1 - Cara menyelesaikan ralat MySQL: nombor lajur tidak sepadan dengan nilai
Cara menyelesaikan ralat MySQL: bilangan lajur tidak sepadan dengan nilai, contoh kod khusus diperlukan
Dalam proses menggunakan pangkalan data MySQL untuk operasi data , kadangkala anda akan menemui mesej ralat: "Kiraan lajur tidak sepadan dengan kiraan nilai pada baris 1", yang bermaksud bilangan lajur tidak sepadan dengan bilangan nilai. Ralat ini biasanya berlaku apabila memasukkan data dan bilangan lajur yang dinyatakan tidak konsisten dengan bilangan nilai yang dimasukkan. Artikel ini menerangkan penyelesaian khusus dan menyediakan contoh kod.
Berikut ialah contoh:
INSERT INTO table_name (column1, column2, column3) VALUES (value1, value2);
Dalam contoh ini, penyata sisipan menentukan 3 lajur (lajur1, lajur2, lajur3), tetapi hanya memasukkan 2 nilai (nilai1, nilai2), jadi ralat "Kiraan lajur tidak sepadan dengan kiraan nilai pada baris 1" akan dicetuskan.
Untuk menyelesaikan masalah ini, kita perlu memastikan bahawa bilangan lajur yang dinyatakan dalam pernyataan sisipan adalah konsisten dengan bilangan nilai yang dimasukkan. Dalam contoh di atas, kita boleh mengubah suai pernyataan sisipan kepada:
INSERT INTO table_name (column1, column2, column3) VALUES (value1, value2, value3);
Ini akan menyelesaikan ralat.
Berikut ialah contoh:
INSERT INTO table_name (column1, column2, column3) VALUES (value1, value2), (value3, value4, value5);
Dalam contoh ini, pernyataan sisipan menentukan 3 lajur (lajur1, lajur2, lajur3), tetapi baris pertama Dua nilai (nilai1, nilai2) dimasukkan dan tiga nilai (nilai3, nilai4, nilai5) dimasukkan dalam baris kedua, jadi ralat "Kiraan lajur tidak sepadan dengan kiraan nilai pada baris 1" akan dicetuskan.
Untuk menyelesaikan masalah ini, kita perlu memastikan bahawa bilangan nilai yang dimasukkan dalam setiap baris adalah konsisten dengan bilangan lajur yang ditentukan. Dalam contoh di atas, kita boleh mengubah suai pernyataan sisipan kepada:
INSERT INTO table_name (column1, column2, column3) VALUES (value1, value2, value3), (value4, value5, value6);
Ini akan menyelesaikan ralat.
Berikut ialah contoh:
INSERT INTO table_name (column1, column2, column3) VALUES (value1, DEFAULT, value3);
Dalam contoh ini, penyata sisipan menentukan 3 lajur (lajur1, lajur2, lajur3), tetapi lajur kedua No nilai khusus disediakan, tetapi kata kunci DEFAULT digunakan untuk menggunakan nilai lalai. Dengan cara ini anda boleh mengelakkan ralat.
Berikut ialah contoh:
INSERT INTO table_name (column1, column2) SELECT column1, column2 FROM other_table;
Dalam contoh ini, penyata sisipan menentukan 2 lajur (lajur1, lajur2), tetapi data yang dipilih datang daripada other_table Jadual mengandungi lebih banyak lajur. Dengan menggunakan pernyataan INSERT INTO SELECT, kita boleh memilih lajur yang diperlukan untuk sisipan, mengelakkan masalah ketidakkonsistenan antara bilangan lajur dan bilangan nilai.
Ringkasan:
Apabila menghadapi ralat MySQL "Column count doesn't match value count at row 1", kita boleh menyelesaikan masalah tersebut melalui kaedah berikut:
Atas ialah kandungan terperinci Kiraan lajur tidak sepadan dengan kiraan nilai pada baris 1 - Cara menyelesaikan ralat MySQL: nombor lajur tidak sepadan dengan nilai. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!