remplacer les valeurs d'une tables par celles d'une autre

Petit nouveau ! | 3 Messages

10 sept. 2005, 15:24

bonjour

Je suis en train de tenter de convertir une bdd access par une solution PHP/Mysql mais j'ai quelques problemes :

- Je souhaite changer les valeurs d'une table par celles d'une autre :
Je m'explique : j'ai une table trigram et une autre nmr_trigram et j'aimerais changer les valeurs de la table nmr_trigram par celle de trigram

-j'ai aussi un soucis au niveau de l'enregistrement :
En effet il s'agit d'une base d'enregistrement de courrier et donc tout les ans la base doit repartir a zero mais j'aimerais conserver un acces a la base de l'année precedente

J'espere avoir été clair et merci d'avance a vous tous car j'ai deja trouvé beaucoup de réponses a mes questions ici ;) :D

Mammouth du PHP | 19672 Messages

10 sept. 2005, 15:32

Pour le premier point si j'ai bien compris, tu voudrais inverser les contenu des deux tables: il serait plus simple de renommer les deux tables :
  1. renommer temporairement nmr_trigram en trigram2;
  2. renommer trigram en nrm_trigram;
  3. renommer trigram2 en trigram;
Regarde la doc MySQL à ce propos

Pour le second point, qu'est-ce qui t'empècherait d'accéder à tes archives ?
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Petit nouveau ! | 3 Messages

10 sept. 2005, 15:47

euh bon je n'ai pas été assez clair je suis desolé :p

en gros j'ai une table nmr avec un champs trigram

j'ai une autre table trigram avec les champs nmr_trigram, trigram et nom

J'aimerais remplacer les valeurs du champs trigram de la table nmr par ceux du champs trigram de la table trigram

et pour le 2eme point le probleme et que la baase repart a zero tout les 1er de l'an :? donc je me demande comment generer une nouvelle base

j'espere avoir été plus clair et je suis encore désolé d'avoir mal formulé ma (mes) question(s)

Mammouth du PHP | 19672 Messages

10 sept. 2005, 16:51

Ok, il faudrait vérifier, je ne crois pas qu'on puisse faire un UPDATE avec un truc du genre SET `champ_x` = (SELECT ... WHERE...)

Par conséquent il faudrait envisager de développer un script en PHP qui récupèrerait les valeurs d'une table pour faire les UPDATE en raffale dans l'autre.

Pour le problème de changement d'année, tu as deux solutions envisageables:
  1. Si tu peux avoir une seconde base de données, crée-toi une base archive comportant la même structure que ta base actuelle et fais une exportation de l'une pour importer dans l'autre;
  2. Tu e disposes que d'une unique base : crée des copies des tables actuelles en les préfixant arch_ (ex: arch_trigram) ce qui les distinguera nettement) puis fais un INSERT INTO avec un VALUES(SELECT ...) et ensuite, après vérification, tu vides les tables normales avec TRUNCATE TABLE `nom_table1`, `nom_table2`, etc...
Modifié en dernier par Cyrano le 10 sept. 2005, 20:06, modifié 1 fois.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Petit nouveau ! | 3 Messages

10 sept. 2005, 18:58

bien merci beaucoup je vais tenter ça ;)