begin process at 2008 09 05 08:45:41
1 237 102 membres
63 nouveaux aujourd'hui
14 312 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : [Prob] apres importation de bd [ Archives / Base de données ] (jamescool)

[Prob] apres importation de bd le 30/10/2005 10:13:36

jamescool

bonjour,
voila jai changer d'hebergeur , passage de free a 1&1 , tout c bien passer a un truc pres
Quand je veux poster dans mon forum ou dans la shoutbox jai une erreur de ce type
[code]mySQL query error: INSERT INTO ibf_shoutbox (name,uid,mgroup,shout,color,date,time) VALUES('JamesCool',226,4,123,'black','28th October 2005',1130490688)

mySQL error: Duplicate entry '0' for key 1
mySQL error code:
Date: Friday 28th of October 2005 11[/code]

ca me le fais aussi qd je post dans les forums
[code]mySQL query error: INSERT INTO ibf_posts & #40;author_id,use_sig,use_emo,ip_address,post_date,icon_id,post,author_name,topic_id,queued,post_htm
lstate,post_key,post_parent) VALUES(226,1,1,'80.170.171.190',1130536349,0,'1234567890°+µ','JamesCool',226,0,0,'7a5ab0aad9d207f11e97af0f29634238',0)

mySQL error: Duplicate entry '0' for key 1
mySQL error code:
Date: Friday 28th of October 2005 11:52:29 PM[/code]


aide moi sil vous plait je bug sur cette erreur ,
c''est impossible de poster , de creer , de repondre etcc , jai toujour cette erreur du duplication


Re : [Prob] apres importation de bd le 30/10/2005 10:15:38

jamescool

bonjour,
voila jai changer d'hebergeur , passage de free a 1&1 , tout c bien passer a un truc pres
Quand je veux poster dans mon forum ou dans la shoutbox jai une erreur de ce type



mySQL query error: INSERT INTO ibf_shoutbox (name,uid,mgroup,shout,color,date,time) VALUES('JamesCool',226,4,123,'black','28th October 2005',1130490688)

mySQL error: Duplicate entry '0' for key 1
mySQL error code:
Date: Friday 28th of October 2005 11



ca me le fais aussi qd je post dans les forums

mySQL query error: INSERT INTO ibf_posts & #40;author_id,use_sig,use_emo,ip_address,post_date,icon_id,post,author_name,topic_id,queued,post_htm
lstate,post_key,post_parent) VALUES(226,1,1,'80.170.171.190',1130536349,0,'1234567890°+µ','JamesCool',226,0,0,'7a5ab0aad9d207f11e97af0f29634238',0)

mySQL error: Duplicate entry '0' for key 1
mySQL error code:
Date: Friday 28th of October 2005 11:52:29 PM




aide moi sil vous plait je bug sur cette erreur ,
c''est impossible de poster , de creer , de repondre etcc , jai toujour cette erreur du duplication


Re : [Prob] apres importation de bd le 30/10/2005 15:49:06

syndrael
Tu n'as po une colonne ki doit s'auto incrémenter ?? et dans la creation de ta table tu azs puet etre oublié de le rajouter..
S.



Re : [Prob] apres importation de bd le 30/10/2005 23:32:24

jamescool
je se pas c pour ca que je demande de l'aide ,

mais jai importé ma bd de free et jai donc rien touche

Re : [Prob] apres importation de bd le 31/10/2005 00:24:45

bastoun
Réponse acceptée !
L'erreur ici c'est parce qu'il essaie de recréer une ligne dans la table alors que la valeur de la clé (primaire je pense, ou alors une autre clé unique) qu'il essaie de créer existe déjà.

une 'tite question bete, enfin, pas tant que ça : tu t'y es pris comment pour recréer et importer le contenu de tes tables ? (script MySql exporté à partir de ton ancien hébergeur, fichier csv, autrement ?? décrit aussi complètement que possible ta démarche)


Vérifie dans mysql si tes tables ont bien leur structure complète (clés primaires, étrangères, auto_incfément). Prend comme base de comparaison tes tables chez ton ancien hébergeur.

Si la structure est incomplète :
- soit tu reprend tout à la main, et bon courage.. surtout que t'as pas l'air de t'y connaitre beaucoup avec mysql...
- soit tu réexporte le script de création de tes tables à partir de ton hébergeur d'origine, en incluant la structure complète et la valeur d'autoincrément, et à ce moment là tu détruit tes tables (oublie pas de sauvegarder tes données) de destination et tu les recré à partir du script généré. Après le réimport, ça devrait être nickel

Si ta structure est complète et que tu possède tes clef primaires avec autoincrément, vérifie la prochaine valeur de l'autoincrément. Il se peut qu'il soit à 0.
Dans ce cas, prend tes mimines et insère une ligne en n'oubliant pas de spécifier une valeur pour le champ clef primaire, valeur supérieure à la dernière valeur insérée pour la table. Ensuite tu détruit cette ligne. ça devrait régler le problème. (juste pour la table en cours... bref, faut le faire à chaque table qui en a besoin)
Sinon tu peux le faire en faisant une requete genre ALTER TABLE nomtable AUTO_INCREMENT = x   où x est la prochaine valeur à prendre pour l'autoincrement



Re : [Prob] apres importation de bd le 31/10/2005 09:39:01

jamescool
Jai exporte ma bd  en sql (free) ,avec aucune compression, avec compatibilité mysql 40 apres jai reimporté les tables a la main (table par table chez 1&1 ) ce que je fe toujours ,  
par contre en mysql je my connais pas trop mais un peu ,
je vais essayer et je di bien essayer ce que tu ma decrit lol
mais si jy arrive pas je vois pas comment faire
Merci

Re : [Prob] apres importation de bd le 31/10/2005 12:42:11

jamescool
Merci a tous
jai enfin trouvé l'erreur , sur toute mes tables  a la colonne id , a  defaut il y avait '0' au lieu  de ' ' et a l'extra il y avait ' ' au lien de 'auto_increment'
maintenant ca marche merci a toi bastoum

Re : [Prob] apres importation de bd le 20/11/2005 10:56:57

spam1234
Bonjour, Peux tu expliquer en pratique comment tu as fais pour ce transfert free => 1&1, je n'y arrives pas (remarque, je suis TRES nul, il faudrait des explication hyper détaillées) Cordialement, Frédéric

[Prob] j'ai un probleme le 09/06/2008 17:25:08

welchall
Moi j'ai fais ce projet la pour inserer les donnée que moi déja recu de ma boite mail
et apres les transformer vers csv, alors moi je veux inserer les valeur du ces fichiers dans ma base de donnée et j'ai utilise ce code la mais il ya toujoues de problem aide moi

$connect = "{".$server_mail.":".$port."/pop3/notls}INBOX" or die("Erreur de connexion : ". imap_last_error());
//Connexion à la boite mail
$mail = imap_open($connect, $user_mail, $passwd_mail);
$nbmess = imap_num_msg($mail);

/*//Récupération des pièce jointes dans les messages
for($j=1;$j<=$nbmess;$j++)
    {
        $header = imap_headerinfo($mail,$j);
        $sujet = $header->subject;
        $struct = imap_fetchstructure($mail,$j);
       
        if ($struct->type == 1)
            {
                $nbrparts = !$struct->parts ? "1" : count($struct->parts);
            }
           
        $piece = array();
       
        for($h=1;$h<=$nbrparts;$h++)
        {
            $part = $struct->parts[1] ;
            $piece = imap_fetchbody($mail,$j,$h+1);
            if ($part->encoding == "3")
                {
                    $nbparam = count($part->parameters);
                    $i=0;
                    while ($i < $nbparam)
                        {
                            $i++;
                            $param = $part->parameters[$i];
                            $nom_fichier = $struct->parts[$h]->dparameters[0]->value;
                        }
                    $piece = imap_base64($piece);
                }
            //Enregistrement de la pièce jointe
            if($nom_fichier != null)
                {
                    $newfichier = fopen("P:/FINANCE/Fraudes/Alarmes_Orange/".microtime()."_".$nom_fichier,"w+");                           
                    fwrite($newfichier,$piece);
                    fclose($newfichier);
                }
        }
    }   
*/
$dir = opendir($rep);
//Bibliothèque XLS vers CSV
require_once 'Excel/reader.php';
//Lister le contenu du répertoire $rep
while ($f = readdir($dir)) {
   if(is_file($rep.$f)) {
      $extension=strrchr($rep.$f,'.');
      //Conversion des fichiers XLS en CSV
      if ($extension == ".xls")
        {
            //Création du fichier CSV à partir du XLS
            $xls2csv_fichier = fopen($rep.$f.".csv","w+");
            $reader = new Spreadsheet_Excel_Reader();
            $reader->setOutputEncoding('CP1251');           
            $reader->read($rep.$f);
            foreach($reader->sheets as $k=>$data)
                {
                    foreach($data['cells'] as $row)
                    {
                        foreach($row as $cell)
                        {
                            fwrite($xls2csv_fichier,$cell.";");
                        }
                        fwrite($xls2csv_fichier,"\n");
                    }
                }
            //Archivage du XLS d'origine
            rename($rep.$f, $rep."Archive_XLS/".$f);                   
        }
   }
}
closedir($dir);

//Identification du type d'alarme et insertion en base de données.
$dir = opendir($rep);
while ($f = readdir($dir)) {
   if(is_file($rep.$f))
   {
    $extension=strrchr($rep.$f,'.');
    if ($extension == ".csv")
    {
         // Connexion à  la base de donnée d'injection (Alarmes_Orange)
         
         $connect_inject = mysql_connect($serverbdd_inject,$userbdd_inject,$passbdd_inject) or die ("Erreur de connexion à la BDD inject :".$serverbdd_inject);
         $bdd_inject = mysql_select_db($base_inject) or die("pas possible de trouver la base");
         //Connexion à la BDD de selection (VIRGIN_PROD)
         
         $connect_select = mysql_connect($serverbdd_select,$userbdd_select,$pwdbdd_select) or die ("Erreur de connexion à la BDD select :".$serverbdd_select);
         $bdd_select = mysql_select_db($base_select) or die("pas possible de trouver la base");
         //Identification du type de fichier avec son nom
         $type_alarm = preg_replace  ("/([^_]*_)([^\.]*)(.*)/","$2",$f);
         echo "Expression régulière : ".$type_alarm."<br>";       
         //Action en fonction du type
         switch($type_alarm)
        {
            case "Surc_Virgin":
              
                  echo "Nom du fichier : ".$f."<br>";
                  //$inF = fopen($rep.$f, 'r');
                 $row = 0;
                 $inF = $rep.$f;
                 $handle = fopen($inF, "r") or die("Cannot open $inF");
                  //echo '<table border=\'1\'>';
                 while (($ligne = fgetcsv($handle, 4096, ";")) !== FALSE)
                 {     
                    $valeur[$row]=explode(";",$ligne);
                    //$val = explode(";",$ligne);
                    $premrier_ligne = 0;
                    $num = count($ligne);
                    echo "<p> $num champs à la ligne $row: <br /></p>\n\n";
                    echo $ligne[0];
                     for ($c=0; $c < $num; $c++) {
                                                  echo $ligne[$c] . "<br />\n";  } 
                   
                                                                              
                    list($Nom, $IMSI, $SIM13, $DatOuvDossier, $Dossier, $Durée, $hhmmss, $Mont_Euros, $PaysdestinationouTypeAppel, $DateAlarme, $Date1ereAlarme, $Nbsortie) = $ligne;                     
                    print_r ($IMSI);
               
                     
                     echo "<pre>";
                      print_r ($valeur[$row]);
                     echo "</pre>"; 
                /*    $req_insert = "INSERT INTO `Table_Temp` VALUES ('$IMSI','$DateAlarme','$Date1ereAlarme','','','$Durée','','','$Mont_Euros','');";
                    echo $req_insert."<br>";
                    $res = mysql_query($req_insert,$connect_inject) or die($req_insert." ".mysql_error()."<br>");     

                /*    $select = "SELECT * FROM `Table_Temp`";
                    $test = mysql_query($select,$connect_inject) or die($select." ".mysql_error()."<br>");
                    $o_test = mysql_fetch_object($test);
                    echo "echo avant delete <br><pre>";print_r($o_test);echo "</pre>";  */

                  /*  $req_del = "DELETE  FROM  `Table_Temp`;";
                    echo $req_del."<br>";
                    $res = mysql_query($req_del,$connect_inject) or die($req_del." ".mysql_error()."<br>");

                 /*   $select = "SELECT * FROM `Table_Temp`";
                    $test = mysql_query($select,$connect_inject) or die($select." ".mysql_error()."<br>");
                    $o_test = mysql_fetch_object($test);  
                    echo "echo apres delete <pre>";print_r($o_test);echo "</pre>";    */
                     

                    $req = "SELECT se.IMSI, sm.NUM_ABO, se.NSCE, sm.MSISDN, cl.NUM_HIGHDEAL,tr.DATE_TRANS
                           FROM STOCK_NSCE as se
                           left join STOCK_MSISDN as sm on se.MSISDN = sm.MSISDN
                           left join CLIENT as cl on cl.ID_CLIENT = sm.ID_CLIENT
                           left join TRANSACTION as tr on tr.ID_CLIENT = cl.ID_CLIENT
                           WHERE IMSI = '$IMSI';";   

                   $R_req = mysql_query($req, $connect_select) or die (mysql_error());
                   while($O_req = mysql_fetch_object($R_req))
                          {
                           echo $O_req->NUM_ABO . " : " . $O_req->NSCE . " : " . $O_req->MSISDN . " : " . $O_req->NUM_HIGHDEAL . " : " . $O_req->DATE_TRANS;
                           echo "<br />";
         
                              }   
                    if($premrier_ligne > 1)
                     {
                           $nom = $valeur[$row][0];
                        $imsi = $valeur[$row][1];
                        $sim13 = $valeur[$row][2]; 
                        $datouvdossier = $valeur[$row][3];
                        $dossier = $valeur[$row][4];
                        $durée = $valeur[$row][5];
                        $hhmmss = $valeur[$row][6];
                        $mont_euros = $valeur[$row][7];
                        $PaysdestinationouTypeAppel = $valeur[$row][8];
                        $datealarme = $valeur[$row][9];
                        $Date1ereAlarme = $valeur[$row][10];
                        $Nbsortie = $valeur[$row][11];  
                     
                                               
                             //réccuperer les valeur du requete en variable         
                  while($rows = mysql_fetch_array($R_req))
                         {
                          $NUM_ABO = $rows["NUM_ABO"];
                          $Nsce = $rows["Nsce"];
                          $MSISDN = $rows["MSISDN"];
                          $NUM_ABO = $rows["NUM_HIGHDEAL"];
                          $DATE_TRANS = $rows["DATE_TRANS"];
                           }  
                         //requete insertion dans la base
                        $insert_req = "INSERT INTO `Alarmes` VALUES ('$NUM_ABO','$Nsce','$MSISDN','$NUM_HIGHDEAL','$DATE_TRANS','$DateAlarme','$Date1erAlarme','','','','','$Durée','','','$Montant');";         
                        $res = mysql_query($insert_req, $connect_inject) or die($insert_req." ".mysql_error()."<br>");
                        echo $insert_req. "<br>";
                        echo "requete INSERTION EN BASE ALarmes_Oranges. ";                         
                        $premrier_ligne++;
                                              }     
                /*    $insert_req = "INSERT INTO `Alarmes` VALUES ('$NUM_ABO','$Nsce','$MSISDN','$NUM_HIGHDEAL','$DATE_TRANS','$DateAlarme','$Date1erAlarme','','','','','$Durée','','','$Montant');";         
                    $res = mysql_query($insert_req,$connect_inject) or die($insert_req." ".mysql_error()."<br>");  */
                   
                    $row++;
                   
                    }
                   
                  echo $Nom;
                  echo $IMSI;
                  echo $SIM13;
                  echo $DatOuvDossier;
                  echo $Dossier;
                  echo $Durée;
                  echo $hhmmss;
                  echo $Mont_Euros;
                  echo $PaysdestinationouTypeAppel;
                  echo $Date1ereAlarme;
                  echo $Nbsortie;
                 
                     echo "<pre>";
                      print_r ($valeur[$row]);
                     echo "</pre>";    
                fclose($handle);
            break;
            case "Roam_Breizh":
                echo "Nom du fichier : ".$f."<br>";
            /*    $inF = fopen($rep.$f,"r");
                echo $rep.$f."<br>";               
                while (!feof($inF))
                {
                    $ligne = fgets($inF, 4096);
                    $valeur = explode(";", $ligne);
                    //echo $ligne."<br>";
                echo "<pre>";
                print_r ($valeur);
                echo "</pre>";      
                 }
                fclose($inF);    */       
            break;
            case "Surc_Breizh2008-142-BZH":
                 echo "Nom du fichier : ".$f."<br>";
                /* $inF = fopen($rep.$f,"r");
                 echo $rep.$f."<br>";                 
                while (!feof($inF))
                {
                    $ligne = fgets($inF, 4096);
                    $valeur = explode(";", $ligne);
                    //echo $ligne."<br>";
                 echo "<pre>";
                  print_r ($valeur);
                 echo "</pre>";      
                 }   
            fclose($inF);    */
            break;
            case "Surc_Breizh":
            echo "Nom du fichier : ".$f."<br>";
            /* $inF = fopen($rep.$f,"r");
             echo $rep.$f."<br>";             
                while (!feof($inF))
                {
                    $ligne = fgets($inF, 4096);
                    $valeur = explode(";", $ligne);
                    //echo $ligne."<br>";
                    echo "<pre>";
                     print_r ($valeur);
                    echo "</pre>";      
                 }
                fclose($inF);  */
            break;
            case "FAF_Breizh":
            echo "Nom du fichier : ".$f."<br>";
            /* $inF = fopen($rep.$f,"r");
             echo $rep.$f."<br>";           
                while (!feof($inF))
                {
                    $ligne = fgets($inF, 4096);
                    $valeur = explode(";", $ligne);
                    //echo $ligne."<br>";
                    echo "<pre>";
                     print_r ($valeur);
                    echo "</pre>";      
                 }
                fclose($inF);  */
            break;
            case "FAF_Virgin":
            echo "Nom du fichier : ".$f."<br>";
        /*    $inF = fopen($rep.$f,"r");
            echo $rep.$f."<br>";           
                while (!feof($inF))
                {
                    $ligne = fgets($inF, 4096);
                    $valeur = explode(";", $ligne);
                    //echo $ligne."<br>";
                echo "<pre>";
                print_r ($valeur);
                echo "</pre>";      
               
                 }
                fclose($inF);    */
            break;
            default:
            echo $rep.$f."<br>";
            break;
        }
   
   }
   }
   mysql_close($connect_select);
   mysql_close($connect_inject);
}
?>



Classé sous : date, code, mysql, post, error

Participer à cet échange

Pub



Appels d'offres

Recherche developpeur ...
Budget : 700€
SITE MARCHAND LOCATION...
Budget : 3 000€
SITE MARCHAND POUR HOTEL
Budget : 4 000€

CalendriCode

Septembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
2930     

VS Express FR Gratuit !

VS Express en français et 100% gratuit !

Téléchargements

Logiciels à télécharger sur le même thème :

Boutique

Boutique de goodies CodeS-SourceS