Flux rss
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Résolu

MySQL Ajouter une table à une autre table

Julien, le vendredi 29 septembre 2006 à 03:17:47
Bonjour tout le monde... après recherches infructuseuses, je viens demander aide...

Je cherche à copier une sélection d'une table MySQL dans une autre table qui n'est pas vide avec du code PHP.

$query = "INSERT INTO table_dest SELECT * FROM table_src WHERE genre LIKE 'exemple'";

Avec cet ligne de code j'arrive à copier la sélection des enregistrement LIKE 'exemple' de la table_src vers la table_dest mais seulement si la table_dest est vide.

Lorsque la table_dest a déjà des enregistrements, cela créé une l'erreur suivante...

Duplicate entry '5' for key 1

Il n'y a aucune relation entre ces deux tables
Elles ont exactement la même structure (12 champs dont le premier est un index avec auto_incrément)

Bien sur dans les 2 tables il y a des enregistrement qui ont la même valeur d'index

Quelqu'un aurait une solution?
Répondre à Julien  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
phunk, le vendredi 29 septembre 2006 à 10:30:35
Salut, ta colonne auto_increment doit être en clé primaire, et tu dois chercher à insérer une valeur identique donc il te jette.
Répondre à phunk

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
 Julien, le vendredi 29 septembre 2006 à 12:31:27
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
Répondre à Julien

Résultats pour MySQL Ajouter une table à une autre table

Parcourir une table (mysql/php) (Résolu) Bonjour à tous, Je viens de créer une table dans une base de donnée Mysql. La table contient 3 champs : Date (la clé primaire) , titre, description. Ensuite , j'ai une page PHP qui affiche des dates. Je voudrais trouver une fonction ou une... www.commentcamarche.net/forum/affich-6925071-parcourir-une-table-mysql-php
Creation de table HEPL ME (Résolu) Bonjour, j'utilise le script ci desous pour creer une table : mysql_select_db($database_organisation, $organisation); $mysql_create_table = "CREATE TABLE IF NOT EXISTS ".$parrain." ( `id` int(255) NOT NULL auto_increment, `user_id` varchar(13)... www.commentcamarche.net/forum/affich-4721735-creation-de-table-hepl-me
[MySQL] Requete UPDATE complexe ? (Résolu) Bonjour à tous, Je voudrais savoir s'il y a un moyen de faire une requete UPDATE complexe, de ce genre: mysql_query("UPDATE $table (SET value="$value WHERE name="$name") AND (SET value="$value2" WHERE name="$name2")") Je sais que la syntaxe de ma... www.commentcamarche.net/forum/affich-7107255-mysql-requete-update-complexe

Résultats pour MySQL Ajouter une table à une autre table

Import / export de données IngresIngres permet d'exporter les données d'une installation Ingres vers une autre (quels que soient l'OS cible ou source) par les commandes : unloaddb copydb Ce qui change entre ces 2 commandes c'est leur périmètre : unloaddb concerne tous... www.commentcamarche.net/faq/sujet-5470-import-export-de-donnees-ingres

Résultats pour MySQL Ajouter une table à une autre table

[sql][tester une requete] (Résolu)Bonjour à tous! j'aimerais savoir comment faire pour tester une requete sql je m'explique mieux j'ai par exemple $toto = mysql_query("SELECT table1, table2 FROM table1, table2 WHERE table1.id1 = table2.id2 AND... www.commentcamarche.net/forum/affich-1123907-sql-tester-une-requete
[Javascript] probleme 'donnée' indéfini (Résolu)Bonjour, je suis débutant en programmation. J'ai créé un formulaire en Php avec une base de données Mysql. Un table tres simple UTILISATEURS (trigramme, nom, prenom). Mon formulaire permet de visualiser les utilisateurs enregistré dans la base de... www.commentcamarche.net/forum/affich-2540024-javascript-probleme-donnee-indefini
Résultat requête sql en lien url (Résolu)Bonjour, j'ai un tableaux qui affiche les champs d'une requête sql et j'aimerais que les données de la 1ère colonne du tableau soit sous forme d'url qui pointe sur le détail. je m'explique : base de donnée mysql avec tables je... www.commentcamarche.net/forum/affich-4800552-resultat-requete-sql-en-lien-url

Résultats pour MySQL Ajouter une table à une autre table

SQL - Contraintes d'intégritéExpression de contraintes d'intégrité Une contrainte d'intégrité est une clause permettant de contraindre la modification de tables, faite par l'intermédiaire de requêtes d'utilisateurs, afin que les données saisies dans la base soient... www.commentcamarche.net/contents/sql/sqlcontr.php3
SQL - Opérations ensemblistesLes opérations ensemblistes Les opérations ensemblistes en SQL, sont celles définies dans l'algèbre relationnelle. Elles sont réalisées grâce aux opérateurs : UNION INTERSECT (ne fait pas partie de la norme SQL et n'est donc pas implémenté dans... www.commentcamarche.net/contents/sql/sqlensem.php3
SQL - Modification de tableModification de table Il est possible de supprimer une table grâce à la clause DROP, il existe aussi des commandes moins extrêmes permettant L'ajout de colonnes La modification de colonnes La suppression de colonnes Enfin, il est possible... www.commentcamarche.net/contents/sql/sqldrop.php3