Copier des donnée dans une table

Bonjour a tous ,
Voila, actuellement je suis en période de stage dans une entreprise, le patron ma demander de leur développé un site local qui leur permet d'afficher des événements (comme un emploi du temps), et enfaîte il ma demander aussi de leur crée un historique pour qu'il voient tous les événements passé , par exemple le mois dernier.
et la mon problème c'est que j'ai crée une base de donnée avec plusieurs tables et puis j'ai crée une table qui s'appelle "historique" et je veux importer ou copier tous les donnée des autres table dans cette table "historique", je ne trouve aucun site qui donne une requête SQL pour copier, j'ai trouver une seul requete qui est ""INSERT INTO `historique` SELECT * FROM 'table_src' WHERE 1""
mais PHPMyadmin m'affiche une erreur qui est :
,
voila donc le probleme ,
SI quelq'un peut m'aider, merci d'avance..

4 réponses

  1. Modérateur
    Bonjour,
    Le souci avec le SELECT * .. c'est que tu prends TOUS les champs ... y compris le champs que tu as désigné comme primary key (surement un champ ID )
    ... Et visiblement.. tu as déjà une ou plusieurs KEY IDENTIQUES dans la tables ou tu veux faire l'insertion...

    Donc... ne fais pas un SELECT * ... mais fais un select uniquement des CHAMPS QUE TU VEUX INSERER.

    0
    1. Modérateur
        • Tu peux aussi regarder du côté de la fonction REPLACE ( au lieu de INSERT) ce qui revient à faire une INSERTION des nouveaux éléments ... et un REMPLACEMENT des éléments déjà existants.
      0
  2. bonjour,
    ça marche pas non plus,
    oui enfaîte toutes les table contiennent un ID et la meme structure, c'est sa le problème


    et la structure c'est sa :
    0
    1. Modérateur
      Dans le INSERT INTO .. tu dois spécifier les champs dans lesquels tu insères les données je pense...
      un truc du genre :
      INSERT INTO  toto ( aa,bb,cc) SELECT (aa,bb,cc) FROM TITI
      
      0
    2. sa marche pas mais bon,
      vous savez comment faire une page web qui contient tout l'historique d'une base autrement ? psq la je laisse tomber la requête sa ne marchera jamais
      et vraiment merci pour ton aide j'apprécie !!
      0
  3. Modérateur
    vous savez comment faire une page web qui contient tout l'historique d'une base autrement


    De toutes façons.. je pense que c'est en effet une meilleur solution que de copier des données dans une pseudo table historique...

    Pour cela ce n'est pas bien compliqué ....
    Il suffit de te baser sur ton champ "date" .....
    lorsque tu affiches les données (historique) .. tu sélectionnes les dates antérieur à aujourd'hui... tout simplement.

    0
    1. d'accord merci jordane pour tout !! mais pour cela il faut passer avant par la requete pour recopier les donnée dans la table 'historique' :p
      0
  4. oui biensur!!
    voila l'erreur :

    0