{MySQL} Duplicate entry
Résolu
orion999
Messages postés
23
Date d'inscription
Statut
Membre
Dernière intervention
-
P6R4N0 Messages postés 18 Date d'inscription Statut Membre Dernière intervention -
P6R4N0 Messages postés 18 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Voila j'effectue des requêtes d'insertion dans une table, dans cette table j'ai mis une clé UNIQUE sur l'un de mes champ.
Etant donné que lors d'un chargement d'une page je peux faire beaucoup d'insertions dans cette même table j'ai regrouper cette requête
Le problème c'est que si une seul des valeurs insérée est déjà présente dans ma table... bah sa annule toute ma requête.
Y a t'il moyen d'inséré toute ses valeurs sans devoir faire une requête à chaque tour de boucle (ce qui serai évidement une perte de performance) ?
Merci d'avance.
Cordialement.
Voila j'effectue des requêtes d'insertion dans une table, dans cette table j'ai mis une clé UNIQUE sur l'un de mes champ.
Etant donné que lors d'un chargement d'une page je peux faire beaucoup d'insertions dans cette même table j'ai regrouper cette requête
INSERT INTO `ma_table` VALUES (...), (...), (...), ...
Le problème c'est que si une seul des valeurs insérée est déjà présente dans ma table... bah sa annule toute ma requête.
Y a t'il moyen d'inséré toute ses valeurs sans devoir faire une requête à chaque tour de boucle (ce qui serai évidement une perte de performance) ?
Merci d'avance.
Cordialement.
A voir également:
- {MySQL} Duplicate entry
- Duplicate cleaner free - Télécharger - Divers Utilitaires
- Awesome duplicate photo finder - Télécharger - Divers Utilitaires
- Auslogics duplicate file finder - Télécharger - Nettoyage
- Easy duplicate finder - Télécharger - Nettoyage
- Duplicate media finder - Télécharger - Gestion de fichiers
6 réponses
Bonjour,
Tu as le choix entre écrire :
Ou bien faire comme tu l'as fait à la suite.
Pour éviter de recommencer à chaque erreur : fais un copier avant d'exécuter ;)
Tu as le choix entre écrire :
INSERT INTO 'table' VALUES (...); INSERT INTO 'table' VALUES (...); INSERT INTO 'table' VALUES (...); INSERT INTO 'table' VALUES (...); ... -- En oubliant pas le ' ; ' à la fin de chaque requête
Ou bien faire comme tu l'as fait à la suite.
Pour éviter de recommencer à chaque erreur : fais un copier avant d'exécuter ;)
Hello,
Enlever la clé primaire?
Puisque par définition, une clé primaire est un champ dont chaque donnée ne peut être identique à un autre.
Je vois pas le but d'insérer des données qui existent déjà dans une table, ta clé primaire devient alors inutile à moins que je ne saisisse pas le but de ta manoeuvre.
Enlever la clé primaire?
Puisque par définition, une clé primaire est un champ dont chaque donnée ne peut être identique à un autre.
Je vois pas le but d'insérer des données qui existent déjà dans une table, ta clé primaire devient alors inutile à moins que je ne saisisse pas le but de ta manoeuvre.
Je ne veux évidement pas entrer deux fois la même valeur... mais la requête pourrai vouloir ré-inséré une valeur déjà existante.
Cependant quelqu'un m'a donné la solution ;)
Citation: "Rajoute ON DUPLICATE KEY UPDATE id=id à la tout fin de ta requête"
Edit: La solution avec ignore est correcte également ;)
Cependant quelqu'un m'a donné la solution ;)
Citation: "Rajoute ON DUPLICATE KEY UPDATE id=id à la tout fin de ta requête"
Edit: La solution avec ignore est correcte également ;)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question