Modifier une colonne d'une table de la BDD MySQL

Fermé
merchou Messages postés 13 Date d'inscription samedi 15 février 2014 Statut Membre Dernière intervention 17 mars 2014 - Modifié par merchou le 27/02/2014 à 09:19
Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 - 27 févr. 2014 à 14:23
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 lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 524
27 févr. 2014 à 14:23
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