[Résolu] Problème pour un INSERT INTO d'une base vers une autre

Problème pour un INSERT INTO d'une base vers une autre [Résolu] - PHP - Programmation

Marsh Posté le 28-02-2006 à 15:42:45    

Bonjour
Je travail sur une base de données MYSQL et je veux archiver les données dans une deuxième base qui est sur le même serveur.
Mon problème c'est que je ne trouve pas comment faire un INSERT INTO d'une table TABLE1 qui est dans la base BD1 vers une table TABLEARCHIVE qui ce trouve dans une deuxième base BD2.
Merci


Message édité par etcepseudoilexiste le 02-03-2006 à 13:28:17
Reply

Marsh Posté le 28-02-2006 à 15:42:45   

Reply

Marsh Posté le 28-02-2006 à 15:44:05    

Ba faire deux connexions.

Reply

Marsh Posté le 28-02-2006 à 15:52:20    

Moi je fais ca :  
Une connexion avec un MYSQL_CONNECT et puis un MYSQL_SELECT_DB puis ma requête :  
 
INSERT INTO t_appro_archive ( Codepdv, Operateur) SELECT t_appro.Codepdv, t_appro.Operateur, FROM t_appro where Date between '$datedeb' and '$datefin'" );
 
Et je voudrais que la première table t_appro_archive sois dans une deuxième base de données.
Quelle forme prendrais mon instruction SQL ?

Reply

Marsh Posté le 28-02-2006 à 15:56:14    

identifie donc tes table grace à la syntaxe : "NomDeLaBaseDeDonnée.NomDeLaTable"

Reply

Marsh Posté le 28-02-2006 à 16:06:39    

$LINK1 = mysql_connect($host1, $user1, $password1);
$LINK2 = mysql_connect($host2, $user2, $password2);
...
$sql = "SELECT col1,col2 FROM TABLE1";
$res = mysql_query($sql, $LINK1);
$row = mysql_fetch_assoc($res);
 
$sql = "INSERT INTO TABLEARCHIVE (col1,col2) VALUES ('".$row['col1']."','".$row['col2']."');
mysql_query($sql, $LINK2);


---------------
http://poemes.iceteapeche.com - http://www.simuland.net
Reply

Marsh Posté le 28-02-2006 à 16:12:00    

fluminis > Les deux bases sont sur le même serveur sql, pas besoin de deux conections (ce qu'avait proposé dwogsi à la vas vite) ni de passer par un traitement en php. Mysql sait trés bien remplir une table à partir d'une autre table situé dans une autre basé quand les deux bases sont sur le même serveur SQL.

Reply

Marsh Posté le 28-02-2006 à 16:14:43    

:) arf...
c'est vrai que j'ai pas l'habitude de travailler en multibase, et généralement mes hebergeurs ne me donnant access à qu'une base par compte, j'ai pensé (trop vite) que une base = une user avec un mot de passe...
mea culpa


---------------
http://poemes.iceteapeche.com - http://www.simuland.net
Reply

Marsh Posté le 28-02-2006 à 16:16:11    

Si c'est tout sur le même serveur ça change tout effectivement!

Reply

Marsh Posté le 28-02-2006 à 16:17:39    

fluminis a écrit :

j'ai pensé (trop vite) que une base = une user avec un mot de passe...
mea culpa

moi, j'avais pas du tout pensé à cette possibilité. C'est sur que s'il n'y a pas d'utilisateur ayant accés aux deux bases, on est obligé d'ouvrir deux conections à la base et de faire un traitement php pour envoyer les données de l'un sur l'autre.

Reply

Marsh Posté le 28-02-2006 à 16:31:59    

Merci beaucoup ca marche.
Sympa :-)

Reply

Marsh Posté le 28-02-2006 à 16:31:59   

Reply

Marsh Posté le 28-02-2006 à 16:33:57    

(quelle solution as tu utilisé ?)


---------------
http://poemes.iceteapeche.com - http://www.simuland.net
Reply

Marsh Posté le 28-02-2006 à 17:15:33    

celle d'omega2

Reply

Marsh Posté le 28-02-2006 à 17:25:43    

omega2 > :jap: je m'incline


---------------
http://poemes.iceteapeche.com - http://www.simuland.net
Reply

Marsh Posté le 28-02-2006 à 19:11:28    

ca serait bien de mettre [RESOLU] dans le titre ;)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed