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

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

Susan Sarandon
Susan Sarandonasal
2024-12-13 22:34:11833semak imbas

Why Does My SQL INSERT Statement Result in a

Ralat Tidak Dijangka semasa Import Data SQL: "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:

MASUKKAN KE DALAM wp_posts NILAI(5, 5, '2005-04-11 09:54:35', '2005-04-11 17:54:35')

Setelah mencuba untuk melaksanakan ini, anda mungkin menerima ralat yang disebutkan di atas. Untuk memahami puncanya, mari kita pecahkan sintaks:

  • INSERT INTO wp_posts...: Pernyataan ini menyatakan bahawa anda ingin memasukkan data ke dalam jadual wp_posts.
  • (5, 5, '2005-04-11 09:54:35', '2005-04-11 17:54:35'): Ini ialah nilai yang anda cuba masukkan.

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.

Menyelesaikan Ralat

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:

MASUKKAN KE DALAM wp_posts (ID, post_author, post_date, post_date_gmt)
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!

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