ホームページ >データベース >mysql チュートリアル >Bash スクリプトでデータを挿入するときに発生する MySQL の列数の不一致エラーを修正する方法

Bash スクリプトでデータを挿入するときに発生する MySQL の列数の不一致エラーを修正する方法

Linda Hamilton
Linda Hamiltonオリジナル
2024-12-23 21:09:11618ブラウズ

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

Bash スクリプトを使用した MySQL 挿入スクリプト

bash スクリプトを介して MySQL データベースに値を挿入しようとすると、次のエラーが発生する場合があります。列数が一致しません。これは、スクリプトがターゲット テーブルの列数と一致しない値を挿入しようとしていることを示しています。

この問題を解決するには、bash スクリプトを次のように変更することを検討してください。

#!/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;

この更新されたスクリプトでは:

  1. inputfile は、値を含むテキスト ファイルの名前を格納する変数です。
  2. cat を使用してテキスト ファイルを読み取り、その内容を while ループにパイプし、各行を反復処理します。
  3. ループ内で、IP、MAC、および SERVER を読み取ります。行の値を変数 ip、ma​​c、server にそれぞれ入力します。
  4. 次に、適切な値を使用して SQL INSERT ステートメントを構築し、それをパイプします。 mysql コマンドは、MySQL サーバーに接続し、指定された資格情報で認証し、SQL ステートメントを実行します。

この変更されたスクリプトは、テキスト ファイルから 1 行ずつ値を読み取り、挿入操作を実行します。ターゲット テーブル内の正しい列数を考慮した各値のセット。

以上がBash スクリプトでデータを挿入するときに発生する MySQL の列数の不一致エラーを修正する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。