J'ai une table avec 3 colonnes: id
, date
et name
. Ce que je cherche est de supprimer les enregistrements qui ont un nom en double. La règle devrait être de conserver l'enregistrement qui a la date la plus ancienne. Par exemple dans l'exemple ci-dessous, il y a 3 enregistrements avec le nom Paul. Donc, je voudrais garder celui qui a la date la plus ancienne (id=1)
et supprimer tous les autres (id = 4 and 6)
. Je sais comment faire des requêtes d'insertion, de mise à jour, etc., mais ici je ne vois pas comment faire pour que cela fonctionne.PHP SQL - requête de suppression avancée
id, date, name
1, 2012-03-10, Paul
2, 2012-03-10, James
4, 2012-03-12, Paul
5, 2012-03-11, Ricardo
6, 2012-03-13, Paul
mysql_query(?);
Bonjour Starx. Juste eu le temps de tester ce que vous proposez ce matin. Je l'aime parce que c'est simple. La chose est, lors de l'exécution d'une requête d'insertion, est-il un moyen de savoir si l'enregistrement n'a pas été inséré parce que la valeur existait déjà dans la table. J'ai essayé mysql_error, mais rien n'est récupéré dans ce cas ... – Marc
@Marc, Vous pouvez vérifier mysql's [insérer en double] (http://dev.mysql.com/doc/refman/5.0/fr/insert-on- duplicate.html) – Starx