MySQL Ajouter une table à une autre table
Résolu/Fermé
Julien
-
29 sept. 2006 à 03:17
Jean-François Pillou Messages postés 18301 Date d'inscription lundi 15 février 1999 Statut Webmaster Dernière intervention 16 février 2023 - 20 janv. 2010 à 16:16
Jean-François Pillou Messages postés 18301 Date d'inscription lundi 15 février 1999 Statut Webmaster Dernière intervention 16 février 2023 - 20 janv. 2010 à 16:16
A voir également:
- MySQL Ajouter une table à une autre table
- Table ascii - Guide
- Table des matières word - Guide
- Ajouter une signature sur word - Guide
- Table des caractères - Guide
- Ajouter une liste déroulante excel - Guide
2 réponses
phunk
Messages postés
498
Date d'inscription
lundi 31 juillet 2006
Statut
Membre
Dernière intervention
30 novembre 2006
193
29 sept. 2006 à 10:30
29 sept. 2006 à 10:30
Salut, ta colonne auto_increment doit être en clé primaire, et tu dois chercher à insérer une valeur identique donc il te jette.
tu as tout a fait raison... tu m'as mis sur la bonne piste.
$query = "INSERT INTO table_dest SELECT * FROM table_src WHERE genre LIKE 'exemple'";
donnait une erreur Duplicate entry '5' for key 1
je sélectionnait tous les champs dans la table source et essayait de les mettre dans tous les champs de la table de destination.
j'ai donc résolu mon problème...
$query = "INSERT INTO table_dest('champs2','champs3','champs4','etc..') SELECT champs2,champs3,champs4,etc.. FROM table_src WHERE genre LIKE 'exemple'";
comme ça le champs1 qui est l'index avec l'auto-incrément et la clé primaire n'entre pas dans l'opération.
avec cette requête, les enregistrement sélectionné dans la table_src sont mis à la suite des enregistrements de la table_dest avec une nouvelle valeur auto_incréement.
merci pour ton aide
$query = "INSERT INTO table_dest SELECT * FROM table_src WHERE genre LIKE 'exemple'";
donnait une erreur Duplicate entry '5' for key 1
je sélectionnait tous les champs dans la table source et essayait de les mettre dans tous les champs de la table de destination.
j'ai donc résolu mon problème...
$query = "INSERT INTO table_dest('champs2','champs3','champs4','etc..') SELECT champs2,champs3,champs4,etc.. FROM table_src WHERE genre LIKE 'exemple'";
comme ça le champs1 qui est l'index avec l'auto-incrément et la clé primaire n'entre pas dans l'opération.
avec cette requête, les enregistrement sélectionné dans la table_src sont mis à la suite des enregistrements de la table_dest avec une nouvelle valeur auto_incréement.
merci pour ton aide
Jean-François Pillou
Messages postés
18301
Date d'inscription
lundi 15 février 1999
Statut
Webmaster
Dernière intervention
16 février 2023
63 274
20 janv. 2010 à 16:16
20 janv. 2010 à 16:16
Si tu veux tout simplement ignorer les doublons, tu peux également faire ceci :
$query = "INSERT IGNORE INTO table_dest('champs2','champs3','champs4','etc..') SELECT champs2,champs3,champs4,etc.. FROM table_src WHERE genre LIKE 'exemple'";