Bonjour,

Je suis confronté à un petit problème embêtant depuis quelques temps maintenant.

Je cherche à supprimer des doublons dans une table après avoir effectué un INSERT, le traitement est effectué de la manière suivante :

Tout d'abord l'insert :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
INSERT 
INTO matable (col1, col2, col3 ...) 
VALUES (val1, val2, val3, ...), (val1', val2', val3' ...)
Ensuite j'appelle ma fonction supprdoublons qui crée cette requête (la requête est générée automatiquement en fonction du nom de la table) :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
SELECT cust_id 
FROM customers t1 
WHERE t1.cust_id > ANY (SELECT cust_id 
                                  FROM customers t2 
                                  WHERE t1.cust_id <> t2.cust_id 
                                        AND t1.cust_sold_to = t2.cust_sold_to 
                                        AND t1.cust_ship_to = t2.cust_ship_to 
                                        AND t1.cust_group = t2.cust_group 
                                        AND t1.cust_name = t2.cust_name )
En théorie je suis donc en possession des id (cust_id est clé primaire) des entrées doublées.
Mais lorsque ceci s'exécute dans mon script php, ça ne marche pas, il me renvoie l'intégralité des id présents dans ma table tandis que lorsque je copie mot pour mot la requête dans phpmyadmin il n'y a pas de soucis...
Bizarre...
Quelqu'un a une idée ?

Merci d'avance