Rumah >pangkalan data >tutorial mysql >Mengapa Penyata INSERT SQL Saya Menghasilkan Ralat 'Kiraan lajur tidak sepadan dengan kiraan nilai'?
Semasa cuba mengimport data ke dalam pangkalan data, anda mungkin menghadapi mesej ralat yang menyatakan "Kiraan lajur tidak sepadan dengan kiraan nilai pada baris 1." Isu yang membingungkan ini boleh timbul apabila bilangan nilai yang anda masukkan tidak sejajar dengan bilangan lajur dalam jadual sasaran.
Pertimbangkan kod SQL berikut:
Setelah mencuba untuk melaksanakan ini, anda mungkin menerima ralat yang disebutkan di atas. Untuk memahami puncanya, mari kita pecahkan sintaks:
Sekarang, mari kita periksa takrif jadual wp_posts. Katakan jadual mempunyai struktur berikut:
CREATE TABLE `wp_posts` ( `ID` int(11) NOT NULL, `post_author` int(11) NOT NULL, `post_date` datetime NOT NULL, `post_date_gmt` datetime NOT NULL, ... );
Seperti yang anda lihat, terdapat empat lajur dalam jadual wp_posts: ID, post_author, post_date dan post_date_gmt. Walau bagaimanapun, nilai yang anda cuba masukkan hanya menyatakan dua lajur, sepadan dengan ID dan post_date.
Untuk menyelesaikan isu ini, anda perlu untuk menentukan semua lajur dalam jadual yang anda ingin isi. Jika anda tidak mahu memasukkan nilai untuk lajur tertentu, anda boleh menggunakan kata kunci NULL untuk mewakili nilai yang hilang.
Oleh itu, sintaks yang betul untuk memasukkan data ke dalam jadual wp_posts ialah:
NILAI (5, NULL, '2005-04-11 09:54:35', '2005-04-11 17:54:35')
Dengan menyatakan secara eksplisit semua lajur dan termasuk NULL untuk lajur yang anda lakukan tidak mahu mengubah suai, anda boleh berjaya memasukkan data ke dalam pangkalan data tanpa menghadapi ralat ketidakpadanan kiraan lajur.
Atas ialah kandungan terperinci Mengapa Penyata INSERT SQL Saya Menghasilkan Ralat 'Kiraan lajur tidak sepadan dengan kiraan nilai'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!