Cherche une fonction pour phpmyadmin

fredopiano -  
 toto -
Bonjour

Je suis à la recherche d'une fonction.
Je dispo de deux bases, la premiere forum_prod et la seconde forum.
Je cherche à inser les valeurs de certains champs (exemple user_id, user_name, user_password) de la table phpbb_users de la base forum_prod vers dans les memes champs de la meme table de la base forum en sachant que je ne veux pas perdre les valeurs des champs déja existants dans cette meme base.
Je pensais à la fonction insert to, mais je n'y arrive pas.

Pouvez vous m'aider ?

6 réponses

Harricote Messages postés 417 Date d'inscription   Statut Membre Dernière intervention   41
 
Peut-être que c'est ceci qui cloche : c'est INSERT INTO.
0
fredopiano
 
pardon c'est ce que je voulais dire, voici la fonction que j'ai essayé de mettre en place

INSERT INTO "forum"."phpbb_users" ("user_id", "username", "user_pasword", "user_lastvisit") FROM "_prod"."phpbb_users" WHERE ColD='$ID';
0
Alain_42 Messages postés 5361 Date d'inscription   Statut Membre Dernière intervention   894
 
Bonjour,

tu vas dans phpMYAdmin

tu sélectionnes la base et la table que tu veux copier

puis tu cliques sur opérations

et en bas de page tu as copier la table vers ....

tu choisis soit données seules soit structure et données suivant si tus a déja la structure dans la table cible

@lain
0
fredopiano
 
Bonjour @lain merci pour ta réponse

Malheureusement, lorsque j'effectue cette fonction que j'ai essayé plusieurs fois, j'ai ce message d'erreur :
INSERT INTO `forum`.`phpbb_users`
SELECT *
FROM `forum_prod`.`phpbb_users`

MySQL a répondu:Documentation
#1136 - Column count doesn't match value count at row 1 


Cela vient certainement du fait que je n'ai pas le meme nombre de colonnes dans les deux bases, c'est bien pour cela que je cherche une fonction qui me permette de ne selectionner que certains champs.
0
toto
 
Bonjour

Il suffit (j'espère) de préciser les champs :
INSERT INTO `forum`.`phpbb_users` (`user_id`, `username`, `user_pasword`, `user_lastvisit`)
SELECT  `user_id`, `username`, `user_pasword`, `user_lastvisit`
FROM `forum_prod`.`phpbb_users`
0
fredopiano
 
Voci le resultat :
requête SQL: Documentation

INSERT INTO `forum`.`phpbb_users` (
`user_id` ,
`username` ,
`user_password` ,
`user_lastvisit`
)
SELECT `user_id` , `username` , `user_password` , `user_lastvisit`
FROM `forum_prod`.`phpbb_users`

MySQL a répondu:Documentation
#1062 - Duplicate entry '1' for key 1 
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
toto
 
Ta demande n'est pas logique.

Tu ne PEUX PAS conserver le champ user_id d'une table, et insérer un enregistrement venant d'une autre table avec la même valeur de user_id, puisque ce champ est une clé et doit donc être unique.
Tu as plusieurs options, à toi de voir selon tes besoins :
Soit tu modifies used_id pour ne plus demander qu'il soit unique (très probablement pas ce que tu veux)
Soit tu écrases les anciens enregistrements avec les nouveaux de même user_id
Soit tu ignores les nouveaux enregistrements en cas de conflit
...
0
fredopiano
 
J'ai un peu de mal à te suivre, alors je vais répondre avec ce que je souhaite exactement.

Je souhaite prendre les membres de mon forum sous phpbb2 et les envoyer dans mon nouveau forum en phpbb3.
Pour cela, je dois les tranferer, mais je ne veux pas perdre les utilisateurs déja présent sous phpbb3 ...
0
toto
 
Alors il faut reprendre la requête sans mettre les `user_id`
0