bonjour,

voici la structure de ma table;

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
CREATE TABLE `perso_1` ( `unixtime` varchar(11) NOT NULL default '',
                                     `name` varchar(255) NOT NULL default '',  
                                     `commentaire` varchar(255) NOT NULL default '',
                                     `files` varchar(4) NOT NULL default '', 
                                     `mo` varchar(10) NOT NULL default '', 
                                       PRIMARY KEY  (`unixtime`),  
                                       FULLTEXT KEY `name`(`name`,`commentaire`),  
                                       FULLTEXT KEY `unixtime` (`unixtime`))                      TYPE=MyISAM ;
la version de mysql que j'utilise : 5.0.32-Debian_7etch1-log

type de données : unxtime -> "1182605046" etc ...
name -> "fichier-group"
commentaire > "bien", "tres.bien" etc..
files -> "2", "3" etc...
poid -> "579ko" etc...

voici mon probleme, ma table actuelle contient 2,000,000 entrée, avec malheureusement qlqs doublons relatifs sur le name ( unixtime different), j'aimerai les eliminés pour ce faire j'ai lu le tutoriel concernant les doublons relatifs, voici la requete que j'ai adapté à ma table

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
SELECT DISTINCT * 
FROM   perso_1 T1 
WHERE  EXISTS (SELECT * FROM   perso_1 T2 
                       WHERE  T1.unixtime <> T2.unixtime AND  
                       T1.name    = T2.name);
ca mouline mais rien ne ce passe j'ai laissé tourné une journée sans succes, j'ai tenté d'exporté les resultats dans un fichier .txt mais ce dernier reste tjr a 0bytes ...
j'opte pour une autre solution, créé une nouvelle tabe (perso_2) sur l'idée de la premiere mais en ajoutant la contrainte unique:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
ALTER TABLE  perso_2 ADD CONSTRAINT UNIQUE( `name` );
Code : Sélectionner tout - Visualiser dans une fenêtre à part
INSERT INTO perso_2 SELECT unixtime, name, commentaire, files, mo FROM perso_1;
cette commande fonctionne mais dès que je rencontre un doublons j'ai cette erreur:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
ERROR 1062 (23000): Duplicate entry 'fichier-group' for key 2
est t'il possible de skipé (passer outre) ces erreurs et continué l'importation?

j'aimerai par la suite optimisé cette table, car les select sont assez long, j'ai pensé faire un index, mais je ne sais pas trop comment m'y prendre ... INDEX ou FULLTEXT ?
est ce bon ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
CREATE INDEX part_of_name ON perso_2 (name(30));
merci d'avance pour vos reponses :>