Rumah >pangkalan data >tutorial mysql >Mengapa Penyata INSERT SQL Saya Menghasilkan Ralat 'Kiraan lajur tidak sepadan dengan kiraan nilai pada baris'?

Mengapa Penyata INSERT SQL Saya Menghasilkan Ralat 'Kiraan lajur tidak sepadan dengan kiraan nilai pada baris'?

Susan Sarandon
Susan Sarandonasal
2024-12-08 15:43:10176semak imbas

Why Does My SQL INSERT Statement Result in a

Memahami Ralat Tidak Padan Kiraan Lajur dalam SQL

Apabila mengisi jadual pangkalan data dengan data menggunakan pernyataan SQL INSERT, menghadapi ralat "Column count does not 't match value count at row" boleh mengecewakan. Isu ini timbul apabila bilangan lajur dalam pernyataan INSERT tidak sejajar dengan bilangan lajur dalam jadual destinasi.

Dalam kes anda, apabila cuba memasukkan data ke dalam jadual wp_posts menggunakan pernyataan berikut:

INSERT INTO `wp_posts` VALUES(5, 5, '2005-04-11 09:54:35', '2005-04-11 17:54:35'

anda menerima ralat ini kerana jadual wp_posts mempunyai lebih banyak lajur daripada bilangan nilai yang anda nyatakan dalam INSERT kenyataan. Nilai pertama, 2781,3 dalam contoh anda, mewakili baris 2781 dan lajur 3 jadual dengan betul. Walau bagaimanapun, nilai kedua, 5,5, menunjukkan bilangan baris dan lajur bagi kedua-dua 5, tetapi jadual mungkin mempunyai lebih banyak lajur.

Untuk menyelesaikan isu ini, anda mesti memberikan nilai untuk semua lajur dalam jadual apabila memasukkan rekod baru. Anda boleh melakukan ini dengan menyatakan secara eksplisit nama lajur dalam pernyataan INSERT anda:

INSERT INTO `wp_posts` (column_name1, column_name2, ...)
VALUES (1, 3, ...)

Pastikan nama lajur yang anda tentukan sepadan dengan susunan lajur dalam takrif jadual.

Ingat bahawa Penyataan INSERT digunakan untuk mencipta rekod baharu dalam jadual, bukan untuk mengubah suai rekod sedia ada. Untuk mengubah suai data dalam rekod sedia ada, gunakan penyataan KEMASKINI sebaliknya.

Atas ialah kandungan terperinci Mengapa Penyata INSERT SQL Saya Menghasilkan Ralat 'Kiraan lajur tidak sepadan dengan kiraan nilai pada baris'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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