Problème DELETE en sql
Fermé
Nagra
-
24 juil. 2008 à 14:40
cchristian Messages postés 921 Date d'inscription lundi 21 janvier 2008 Statut Membre Dernière intervention 6 mars 2012 - 24 juil. 2008 à 17:58
cchristian Messages postés 921 Date d'inscription lundi 21 janvier 2008 Statut Membre Dernière intervention 6 mars 2012 - 24 juil. 2008 à 17:58
A voir également:
- Problème DELETE en sql
- Delete cascade sql - Forum Programmation
- Blob sql ✓ - Forum Webmastering
- Sql (+) - Forum Programmation
- Delete lock - Télécharger - Sécurité
- Delete sql jointure ✓ - Forum Bases de données
3 réponses
cchristian
Messages postés
921
Date d'inscription
lundi 21 janvier 2008
Statut
Membre
Dernière intervention
6 mars 2012
130
24 juil. 2008 à 16:39
24 juil. 2008 à 16:39
Bonjour,
Le problème est certainement lié au fait qu'une même table "TempsTestCommande" est utilisée à la fois comme une des tables de référence pour effectuer la recherche (NOT IN) et comme une table mise à jour (avec DELETE) et ce dans la même requête SQL.
Le problème est certainement lié au fait qu'une même table "TempsTestCommande" est utilisée à la fois comme une des tables de référence pour effectuer la recherche (NOT IN) et comme une table mise à jour (avec DELETE) et ce dans la même requête SQL.
Salut! Merci de ta réponse :)
En effet, je me demandais si le problème de venait pas de là. Apparemment en faisant des recherches sur le numéro de l'erreur, il semble que MySQL ne gère pas ce genre de cas contrairement à d'autres SQBD.
Pour contourner le problèmes j'ai récupéré les résultats de la version avec le SELECT dans un vecteur Java (mon programme est écrit dans ce langage) et j'ai fais un DELETE sur chacune des lignes. C'est plus long et pas super propre mais je ne vois pas 36 autres solutions en fait. A l'arrivée mon programme lag un petit peu étant donné que je récupère quand même dans les 20.000 lignes avec cette méthode. Mais c'est mieux que rien et, de toutes manières, comme il s'agit de l'outil de maintenance de mon programme qui est sensé être exécuté tous les soirs, c'est pas bien grave qu'il prenne 1 minute à tout analyser alors qu'il pourrait prendre seulement 10 secondes :)
En tous cas merci de ta réponse!
Bonne soirée ++
En effet, je me demandais si le problème de venait pas de là. Apparemment en faisant des recherches sur le numéro de l'erreur, il semble que MySQL ne gère pas ce genre de cas contrairement à d'autres SQBD.
Pour contourner le problèmes j'ai récupéré les résultats de la version avec le SELECT dans un vecteur Java (mon programme est écrit dans ce langage) et j'ai fais un DELETE sur chacune des lignes. C'est plus long et pas super propre mais je ne vois pas 36 autres solutions en fait. A l'arrivée mon programme lag un petit peu étant donné que je récupère quand même dans les 20.000 lignes avec cette méthode. Mais c'est mieux que rien et, de toutes manières, comme il s'agit de l'outil de maintenance de mon programme qui est sensé être exécuté tous les soirs, c'est pas bien grave qu'il prenne 1 minute à tout analyser alors qu'il pourrait prendre seulement 10 secondes :)
En tous cas merci de ta réponse!
Bonne soirée ++
cchristian
Messages postés
921
Date d'inscription
lundi 21 janvier 2008
Statut
Membre
Dernière intervention
6 mars 2012
130
24 juil. 2008 à 17:58
24 juil. 2008 à 17:58
Bonsoir,
Merci pour le retour,
il semble que MySQL ne gère pas ce genre de cas contrairement à d'autres SQBD.
En effet j'ai fait quelques tests en SQL/DB2, ça répond convenablement.
Bon courage,
Merci pour le retour,
il semble que MySQL ne gère pas ce genre de cas contrairement à d'autres SQBD.
En effet j'ai fait quelques tests en SQL/DB2, ça répond convenablement.
Bon courage,