Problème pour un INSERT INTO d'une base vers une autre [Résolu] - PHP - Programmation
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 ?
Marsh Posté le 28-02-2006 à 15:56:14
identifie donc tes table grace à la syntaxe : "NomDeLaBaseDeDonnée.NomDeLaTable"
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);
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.
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
Marsh Posté le 28-02-2006 à 16:16:11
Si c'est tout sur le même serveur ça change tout effectivement!
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... |
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.
Marsh Posté le 28-02-2006 à 16:33:57
(quelle solution as tu utilisé ?)
Marsh Posté le 28-02-2006 à 17:25:43
Reply
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