Copier des donnée dans une table

Fermé
tayeb_54 Messages postés 25 Date d'inscription jeudi 4 juin 2015 Statut Membre Dernière intervention 3 août 2017 - 4 juin 2015 à 09:32
tayeb_54 Messages postés 25 Date d'inscription jeudi 4 juin 2015 Statut Membre Dernière intervention 3 août 2017 - 4 juin 2015 à 14:23
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..
A voir également:

4 réponses

jordane45 Messages postés 38213 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 juin 2024 4 678
4 juin 2015 à 10:06
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
jordane45 Messages postés 38213 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 juin 2024 4 678
4 juin 2015 à 10:08
    • 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
tayeb_54 Messages postés 25 Date d'inscription jeudi 4 juin 2015 Statut Membre Dernière intervention 3 août 2017
4 juin 2015 à 10:47
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
jordane45 Messages postés 38213 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 juin 2024 4 678
4 juin 2015 à 11:01
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
tayeb_54 Messages postés 25 Date d'inscription jeudi 4 juin 2015 Statut Membre Dernière intervention 3 août 2017
4 juin 2015 à 11:24
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
jordane45 Messages postés 38213 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 juin 2024 4 678 > tayeb_54 Messages postés 25 Date d'inscription jeudi 4 juin 2015 Statut Membre Dernière intervention 3 août 2017
4 juin 2015 à 11:49
ça ne marche pas ? ça m'étonne un peu...
Tu peux nous montrer la requête que tu as essayé et le message d'erreur obtenu ?

PS:
**** Attention ****
Merci de bien vouloir utiliser la coloration syntaxique (les balises de code) lorsque tu postes du code sur le forum.
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code

.
0
jordane45 Messages postés 38213 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 juin 2024 4 678
4 juin 2015 à 12:07
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
tayeb_54 Messages postés 25 Date d'inscription jeudi 4 juin 2015 Statut Membre Dernière intervention 3 août 2017
4 juin 2015 à 14:23
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
tayeb_54 Messages postés 25 Date d'inscription jeudi 4 juin 2015 Statut Membre Dernière intervention 3 août 2017
Modifié par tayeb_54 le 4/06/2015 à 14:21
oui biensur!!
voila l'erreur :

0