Fusionner 2 tables SQL
Résolu
Joub
-
walhalabas -
walhalabas -
Bonjour,
Je cherche à fusionner 2 tables SQL afin de réunir les données qu'elles contiennent. J'ai donc utilisé une commande du type:
INSERT INTO Table1
select * from Table2
Mais le problème c'est que certaines entrées sont identiques dans les tables donc j'ai ce message d'erreur:
#1062 - Duplicate entry '118473' for key 1
Pourriez-vous m'aider?
Merci d'avance.
Je cherche à fusionner 2 tables SQL afin de réunir les données qu'elles contiennent. J'ai donc utilisé une commande du type:
INSERT INTO Table1
select * from Table2
Mais le problème c'est que certaines entrées sont identiques dans les tables donc j'ai ce message d'erreur:
#1062 - Duplicate entry '118473' for key 1
Pourriez-vous m'aider?
Merci d'avance.
A voir également:
- Fusionner deux tables sql
- Fusionner deux cellules excel - Guide
- Fusionner deux tableaux excel - Guide
- Comment fusionner des pdf sans logiciel - Guide
- Deux ecran pc - Guide
- Comment faire deux colonnes sur word - Guide
3 réponses
Tu peux créer un nouveau champ "id2" clé primaire, unique, auto-incrémenté dans table1 et faire comme requête
INSERT INTO table1 (champ1, champ2...) SELECT champ1, champ2, ... FROM table2
Ca va remettre une nouvelle clé à tous tes enregistrements mais de toute façon tu n'as pas d'autre choix que de détruire les clés d'au moins une des 2 tables.
INSERT INTO table1 (champ1, champ2...) SELECT champ1, champ2, ... FROM table2
Ca va remettre une nouvelle clé à tous tes enregistrements mais de toute façon tu n'as pas d'autre choix que de détruire les clés d'au moins une des 2 tables.
Ta solution est bien,
Je me dis aussi que au lieu d'ajouter un autre champ, et pas n'importe lequel un identifiant et clé, je me dis qu'il peut faire une procèdure SQL :
Si clé1 = clé2
inserer dans table 1 : clé1, + tous les champs de la table 2 sauf clé2
Else insertion de tous les champs de la Table 2
voilà
Je me dis aussi que au lieu d'ajouter un autre champ, et pas n'importe lequel un identifiant et clé, je me dis qu'il peut faire une procèdure SQL :
Si clé1 = clé2
inserer dans table 1 : clé1, + tous les champs de la table 2 sauf clé2
Else insertion de tous les champs de la Table 2
voilà
bah ou supprimer les deux tables et n'en garder qu'une troisième qui est la fusion des 2. L'avantage c'est qu'on est pas obliger de supprimer les anciennes tables de suite(histoire de pouvoir exporter/garder, pratique en cas d'erreur lors de la copie on recommences c'est tout et on as pas une table pourrie) les données, et plus de problème d'unicité des données.