Jika Anda mendapatkan kesalahan yang berbunyi seperti “ERROR 1136 (21S01):Jumlah kolom tidak cocok dengan jumlah nilai di baris 2 ” saat menggunakan VALUES
pernyataan di MySQL, mungkin karena ada ketidaksesuaian jumlah kolom yang ditentukan dalam ROW()
klausa.
Untuk memperbaiki kesalahan ini, pastikan bahwa semua ROW()
klausa berisi jumlah kolom yang sama persis.
Contoh Kesalahan
Berikut adalah contoh kode yang akan menghasilkan kesalahan:
VALUES ROW(1, 2), ROW(3);
Hasil:
ERROR 1136 (21S01): Column count doesn't match value count at row 2
Dalam hal ini, saya melewatkan dua nilai dengan ROW()
pertama tetapi hanya satu nilai dengan yang kedua.
Itulah yang menyebabkan kesalahan.
Solusi
Untuk memperbaiki kesalahan, yang perlu kita lakukan adalah memastikan bahwa semua ROW()
klausa berisi jumlah nilai yang sama.
Contoh:
VALUES ROW(1, 2), ROW(3, 4);
Hasil:
+----------+----------+ | column_0 | column_1 | +----------+----------+ | 1 | 2 | | 3 | 4 | +----------+----------+
Penyebab Kesalahan Lainnya
Kesalahan yang sama juga dapat terjadi saat menggunakan INSERT
pernyataan untuk memasukkan jumlah kolom yang salah ke dalam tabel.
Dalam kasus seperti itu, pastikan Anda memasukkan jumlah baris yang benar. Atau, untuk menyisipkan data ke dalam kolom yang lebih sedikit daripada isi tabel, Anda dapat secara eksplisit memberi nama kolom yang akan disisipkan data.