Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Membetulkan Ralat Tidak Padan Kiraan Lajur MySQL Apabila Memasukkan Data dengan Skrip Bash?

Bagaimana untuk Membetulkan Ralat Tidak Padan Kiraan Lajur MySQL Apabila Memasukkan Data dengan Skrip Bash?

Linda Hamilton
Lepaskan: 2024-12-23 21:09:11
asal
610 orang telah melayarinya

How to Fix MySQL Column Count Mismatch Errors When Inserting Data with a Bash Script?

Skrip Sisipan MySQL dengan Skrip Bash

Apabila cuba memasukkan nilai ke dalam pangkalan data MySQL melalui skrip bash, anda mungkin menghadapi ralat berkenaan kiraan lajur tidak sepadan. Ini menunjukkan bahawa skrip anda cuba memasukkan nilai yang tidak sejajar dengan bilangan lajur dalam jadual sasaran.

Untuk menyelesaikan isu ini, pertimbangkan untuk mengubah suai skrip bash anda seperti berikut:

#!/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;
Salin selepas log masuk

Dalam skrip yang dikemas kini ini:

  1. fail input ialah pembolehubah yang menyimpan nama fail teks yang mengandungi nilai yang akan dimasukkan.
  2. Kami menggunakan cat untuk membaca fail teks dan menyalurkan kandungannya ke gelung while, yang berulang pada setiap baris.
  3. Di dalam gelung, kami membaca IP, MAC dan SERVER nilai daripada baris ke dalam pembolehubah ip, mac dan pelayan masing-masing.
  4. Kami kemudian membina pernyataan SQL INSERT dengan nilai yang sesuai dan menyalurkannya ke arahan mysql, yang bersambung ke pelayan MySQL, mengesahkan dengan bukti kelayakan yang disediakan dan melaksanakan pernyataan SQL.

Skrip yang diubah suai ini membaca nilai daripada fail teks baris demi baris dan melaksanakan operasi sisipan untuk setiap set nilai, mengambil kira bilangan lajur yang betul dalam jadual sasaran.

Atas ialah kandungan terperinci Bagaimana untuk Membetulkan Ralat Tidak Padan Kiraan Lajur MySQL Apabila Memasukkan Data dengan Skrip Bash?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan