Maison >base de données >tutoriel mysql >Comment corriger les erreurs de non-concordance du nombre de colonnes MySQL lors de l'insertion de données avec un script Bash ?

Comment corriger les erreurs de non-concordance du nombre de colonnes MySQL lors de l'insertion de données avec un script Bash ?

Linda Hamilton
Linda Hamiltonoriginal
2024-12-23 21:09:11615parcourir

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

Script d'insertion MySQL avec script Bash

Lorsque vous essayez d'insérer des valeurs dans une base de données MySQL via un script bash, vous pouvez rencontrer une erreur concernant incompatibilité du nombre de colonnes. Cela indique que votre script tente d'insérer des valeurs qui ne correspondent pas au nombre de colonnes de la table cible.

Pour résoudre ce problème, pensez à modifier votre script bash comme suit :

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

Dans ce script mis à jour :

  1. inputfile est une variable qui stocke le nom du fichier texte contenant les valeurs à inséré.
  2. Nous utilisons cat pour lire le fichier texte et rediriger son contenu vers la boucle while, qui parcourt chaque ligne.
  3. À l'intérieur de la boucle, nous lisons l'adresse IP, le MAC et le SERVEUR. valeurs de la ligne dans les variables ip, mac et server respectivement.
  4. Nous construisons ensuite une instruction SQL INSERT avec les valeurs appropriées et la dirigeons vers la commande mysql, qui se connecte au Le serveur MySQL s'authentifie avec les informations d'identification fournies et exécute l'instruction SQL.

Ce script modifié lit les valeurs du fichier texte ligne par ligne et exécute l'opération d'insertion pour chaque ensemble de valeurs, en tenant compte de le nombre correct de colonnes dans la table cible.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn