Jika Anda mendapatkan kesalahan yang berbunyi “ERROR 3942 (HY000):Setiap baris dari klausa VALUES harus memiliki setidaknya satu kolom ” di MySQL, Anda dapat memiliki konstruktor baris kosong saat menggunakan VALUES
pernyataan.
Untuk memperbaiki masalah ini, pastikan Anda memiliki setidaknya satu nilai di setiap ROW()
klausa dalam VALUES
pernyataan.
Contoh Kesalahan
Berikut contoh kode yang menghasilkan kesalahan:
VALUES ROW();
Hasil:
ERROR 3942 (HY000): Each row of a VALUES clause must have at least one column, unless when used as source in an INSERT statement.
Ini adalah contoh yang sangat sederhana, tetapi kesederhanaannya menunjukkan kepada kita apa yang salah. Saya menggunakan VALUES
pernyataan, tetapi dengan ROW()
empty kosong klausa.
Solusi
Untuk memperbaiki masalah ini, yang perlu kita lakukan adalah memberikan setidaknya satu nilai untuk ROW()
klausa:
VALUES ROW('Jet');
Hasil:
+----------+ | column_0 | +----------+ | Jet | +----------+
Biasanya, kami akan menyertakan lebih dari satu nilai di setiap ROW()
klausa, dan mungkin lebih dari satu ROW()
ayat. Misalnya:
VALUES ROW(1, 'Jet', 'Black'), ROW(2, 'Faye', 'Valentine');
Hasil:
+----------+----------+-----------+ | column_0 | column_1 | column_2 | +----------+----------+-----------+ | 1 | Jet | Black | | 2 | Faye | Valentine | +----------+----------+-----------+
Bagaimanapun, kita perlu memberikan setidaknya satu nilai untuk setiap ROW()
klausa.