|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre confirmé
![]() Dominique Première S Inscription : juillet 2010 Messages : 252 ![]() |
Bonjour,
alors je sait, cette question, est classique. Moi je faisais toujours : Code :
DELETE FROM matable WHERE `champs` NOT IN (SELECT id FROM autre_table) J'ai essayer avec un LIMIT dans la sous requête, mais MySQL n'accepte pas les LIMIT dans les sous-requête de type IN ... Alors comment pourrais-je faire svp ? Merci d'avance. |
|
|
00
|
|
|
#2 | ||
![]() ![]() |
Essaie avec une jointure :
Code :
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau) À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française ! Linuxiens, comptez-vous ! |
||
|
00
|
|
|
#3 |
![]() ![]() ![]() Cédric DuprezInscription : avril 2002 Messages : 3 823 ![]() |
Bonjour,
Avant de poser une question, merci de consulter la : http://mysql.developpez.com/faq/?pag..._data_sans_ref
__________________
Rédacteur / Modérateur SGBD Mes tutoriels et la FAQ MySQL ---------------------------------------------------- Pensez aux balises code et au tag Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça
|
|
|
00
|
|
|
#4 | ||||
|
Membre confirmé
![]() Dominique Première S Inscription : juillet 2010 Messages : 252 ![]() |
désolé, j'ai oublié de dire que j'avais aussi essayé, désolé
![]() Je montre quand même code et erreur : Code :
#1317 - Query execution was interrupted ça arrive au bout de 7 sec. environ ... merci. EDIT oups, désolé pour le code, j'ai fait un SELECT COUNT() au lieu d'un DELETE juste pour m'assurer que je n'en supprime pas trop, mais ça fait pareil avec un DELETE : Code :
|
||||
|
|
00
|
|
|
#5 | ||
|
Expert Confirmé
![]() Inscription : mai 2002 Messages : 1 655 ![]() |
bonjour,
Avez-vous un index sur memory_j_mod_card.card et un autre sur memory_card.id ? Ensuite, quand vous aurez ces 2 indexes retestez votre requête actuelle et une en passant par un not exists (je ne sais pas si MySql interprete les 2 requetes de la même facon): Code :
|
||
|
|
00
|
|
|
#6 |
![]() ![]() |
Combien de lignes dans les tables ?
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau) À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française ! Linuxiens, comptez-vous ! |
|
00
|
|
|
#7 | |
|
Membre confirmé
![]() Dominique Première S Inscription : juillet 2010 Messages : 252 ![]() |
Désolé, la table memory_j_mod_card a un primary key sur les colonnes 'card' et 'mod' ensemble (ce sont les seules colonnes), et la table memory_card a bien une colonne ID en primary key.
Citation:
Et désolé, ça ne marche toujours pas. Au passage l'erreur survient après environ 9 à 15 sec. (variable apparemment). Pour le nombre de ligne : memory_card -> 78 000 memory_j_mod_card -> 90 000 et ce n'est rien par rapport à ce qu'il y aura plus tard ![]() D'ailleurs, c'est pas encore énorme ... merci. |
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com