Modifier une colonne d'une table de la BDD MySQL

merchou Messages postés 13 Date d'inscription   Statut Membre Dernière intervention   -  
Pitet Messages postés 2826 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour à tous !

J'ai un souci, en fait j'ai une table de ma BDD qui a cinq colonnes et je voulais insérer les données dans les deux premières colonnes.
Mais lorsque j'exécute mon script, il insère ces données à la fin de la table c'est à dire à partir de la dernière ligne de la table:

Exple:

ida-----IMSI----MEID----ENS1----PUK1----MDN

1-----------------------------20-------AD-------13
2-----------------------------21-------AE-------14
3------A22------G40-------22-------AF--------15
4------A23------G4A------------------------------
5------A24------G4B------------------------------
6------A25------G4C------------------------------

Les colonnes IMSI et MEID sont celles dont j'ai mis les valeurs à travers mon script.
Mon souci est de savoir comment faire pour que les données entrent dans ces deux colonnes à partir de la première ligne (ida=1).

Voici mon script:

<?php
 
set_time_limit(0);
error_reporting(E_ALL ^ E_NOTICE);
 
mysql_connect('localhost','root','');
mysql_select_db('gestnum');
 
 
//On ouvre le fichier en question (en lecture seule)
 
$handle = fopen("fichab.txt", "r");
 
$i=0;
 
        $queryBase = 'INSERT INTO coordab (IMSI, MEID) VALUES ';
        $query = $queryBase;
        while (($data = fgetcsv($handle, 0, " ")) !== FALSE)
        {
            $query .= "('$data[0]', '$data[1]'),";
            if ($i % 5000 == 0)
            {
                // On enlève la dernière virgule
                $query = substr($query, 0, -1);
                mysql_query($query);
                $query = $queryBase;
 
            }
            $i++;
        }
        // Pour les derniers enregistrements
        if ($query != $queryBase) 
  {
               $query = substr($query, 0, -1);
               mysql_query($query);
        }
 
 //on ferme le fichier
fclose($handle);
 
 
?>



Mes données viennent d'un fichier texte (fichab.text).

S'il vous plait aidez moi à résoudre ce problème.

Merci d'avance !
A voir également:

1 réponse

Pitet Messages postés 2826 Date d'inscription   Statut Membre Dernière intervention   527
 
Salut,

INSERT ne permet d'insérer que des nouvelles lignes et pas de modifier celles existantes.

Si tu souhaites modifier les lignes existantes, tu dois utiliser l'instruction UPDATE et ajouter une clause WHERE pour définir quelle ligne mettre à jour. Par exemple :
UPDATE coordab SET IMSI = 'donnees1', MEID = 'donnees2' WHERE ida = 1

UPDATE coordab SET IMSI = 'donnees3', MEID = 'donnees4' WHERE ida = 2

[... etc ...]


Bonne journée
0