Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Membetulkan Ralat 'Kiraan lajur tidak sepadan dengan kiraan nilai' Semasa Memasukkan Data ke dalam MySQL dengan Bash?

Bagaimana untuk Membetulkan Ralat 'Kiraan lajur tidak sepadan dengan kiraan nilai' Semasa Memasukkan Data ke dalam MySQL dengan Bash?

Linda Hamilton
Linda Hamiltonasal
2024-12-18 08:23:10970semak imbas

How to Fix

Penyelesaian Skrip Bash untuk Memasukkan Nilai ke dalam MySQL

Apabila cuba memasukkan nilai ke dalam MySQL menggunakan skrip bash, pengguna mungkin menghadapi ralat yang menunjukkan ketidakpadanan antara kiraan lajur dan kiraan nilai. Ralat ini biasanya timbul apabila format data input tidak sejajar dengan lajur yang dijangkakan dalam jadual pangkalan data. Pertimbangkan contoh berikut:

Skrip di bawah bertujuan untuk memasukkan nilai daripada fail teks ke dalam jadual MySQL bernama 'test':

#!/bin/bash
echo "INSERT INTO test (IP,MAC,SERVER) VALUES ('cat test.txt');" | mysql -uroot -ptest test;

Walau bagaimanapun, selepas pelaksanaan, skrip mengembalikan ralat :

ERROR 1136 (21S01) at line 1: Column count doesn't match value count
at row 1

Untuk menyelesaikan isu ini, sahkan format data dalam fail teks 'test.txt'. Jika data tidak diformat dengan betul, ia akan membawa kepada percanggahan antara bilangan lajur yang dijangkakan dalam jadual MySQL dan nilai yang dimasukkan.

Berikut ialah skrip yang disemak yang mengambil pendekatan berbeza:

#!/bin/bash
inputfile="test.txt"
cat $inputfile | while read ip mac server; do
    echo "INSERT INTO test (IP,MAC,SERVER) VALUES ('$ip', '$mac', '$server');"
done | mysql -uroot -ptest test;

Skrip ini berulang pada setiap baris dalam fail teks dan mengekstrak nilai untuk setiap lajur (IP, MAC, SERVER). Ia kemudian membina pernyataan SQL untuk setiap baris dan menyalurkannya ke arahan MySQL, memastikan kiraan lajur dan kiraan nilai sepadan.

Dengan mengubah suai skrip dan memformat data input dengan betul dalam fail teks, anda boleh berjaya memasukkan nilai ke dalam jadual MySQL menggunakan skrip bash.

Atas ialah kandungan terperinci Bagaimana untuk Membetulkan Ralat 'Kiraan lajur tidak sepadan dengan kiraan nilai' Semasa Memasukkan Data ke dalam MySQL dengan Bash?. 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