je réussi a indentifier via un select les lignes que je souhaite supprimer dans une table, selon la requête suivante :
select * from hlstats_new.hlstats_playernames P where P.connection_time < (select max(HP.connection_time) from hlstats_new.hlstats_playernames HP where HP.playerid = P.playerid))
J'utilise MySQL Browser et la requête sort en moins de 1 seconde sur une tables qui a 100.000 lignes (environ 6Mo). Je précise parcequ'avec phpmyadmin j'ai roulé la requête pendant 1 heure sans résultats
Mon problème se situe au niveau du delete ! Ca me retourne une erreur de syntaxe ... J'ai essayé ca : delete from hlstats_new.hlstats_playernames P where P.connection_time < (select max(HP.connection_time) from hlstats_new.hlstats_playernames HP where HP.playerid = P.playerid))
ou ca ( delete from hlstats_new.hlstats_playernames P where P.playerid IN (select YP.playerid FROM hlstats_new.hlstats_playernames YP WHERE YP.connection_time < (select max(HP.connection_time) from hlstats_new.hlstats_playernames HP where HP.playerid = P.playerid))
Mais rien ne marche ...
D'où mes questions : 1- peut on supprimer des lignes dans une table via mysql browser ? (quand je roule la requête select et que je selectionne une ligne, l'option delete row est grisée) 2- si oui qu'est-ce qui ne va pas dans ma requête ?
Merci d'avance
Modifie 1 fois. Derniere modification le 22/10/2008 à 12:25 par VieuxEd.