Copie de table

Résolu
magicsmacks Messages postés 128 Date d'inscription mercredi 21 mai 2003 Statut Membre Dernière intervention 8 avril 2008 - 21 mars 2006 à 11:27
supergyver Messages postés 29 Date d'inscription jeudi 19 février 2004 Statut Membre Dernière intervention 14 février 2007 - 21 mars 2006 à 18:15
Bonjour,



Voilà le problème...

J'aimerai copier les données d'une table vers une autre, dans une même base... Pour cela vous me direz qu'il suffit de faire :

<noscript>
<link rel="stylesheet" type="text/css" href="./css/phpmyadmin.css.php?lang=fr-utf-8&js_frame=right" />
</noscript><link media="print" href="./css/print.css" type="text/css" rel="stylesheet">
INSERT INTO `base`.`imagecorrect`

SELECT *

FROM `base`.`image`



Le seul soucis est que mes bases sont en 'autoincrement' et que l'autoindex est différent d'une base à l'autre...

J'ai donc utilisé un autre code beaucoup plus complexe qui
fonctionne... le seul soucis est que j'ai parfois des bugs parcequ'il
est trop lourd... Existe-t-il un moyen plus simple de copier les
données d'une table à l'autre sans copier les valeurs de
l'autoincrement?

Voici mon code plus complexe :



$requête509[$l] = "SELECT * FROM image where identification='$identification'";

$résultat509[$l]= mysql_db_query("base",$requête509[$l]);

if ($résultat509[$l])

{

while ($article509 = mysql_fetch_assoc($résultat509[$l])) {

$articles509[] = $article509;

} }

for ($iono=0;$iono<($valeurdetermineplushaut);$iono++) {

$nom = $articles509[$iono]['nom'];

$prenom = $articles509[$iono]['prenom'];

$reponse =$articles509[$iono]['reponse'];

$correct= $articles509[$iono]['correct'];

$mail= $articles509[$iono]['mail'];

$re509[$l] = "INSERT INTO `imagecorrect` ( `nom`, `reponse`,
`correct`, `identification`, `prenom`, `mail`) VALUES ('$nom',
'$reponse',
'$correct','$identification','$prenom','$mail')";

if(mysql_query($re509[$l]) == 0)

{Erreur("impossible d'ajouter la ligne1
"); } else print("");

}

Merci de vos réponses...

MAGICSMACKS

1 réponse

supergyver Messages postés 29 Date d'inscription jeudi 19 février 2004 Statut Membre Dernière intervention 14 février 2007
21 mars 2006 à 18:15
Si j'ai bien compris le problème, ça ne semble pas bien compliqué...

Au lieu de faire ton



INSERT INTO TABLE1

SELECT * FROM TABLE2



il faut faire:



INSERT INTO TABLE1( CHAMP2, CHAMP3, ...) (pas l'identifiant)

SELECT CHAMP2, CHAMP3 FROM TABLE2



de la même manière qu'une insertion classqiue avecun autoincrémente...



J'espère que ça résoudra ton problème
3
Rejoignez-nous