Mysql : supprimer des enregistrements

Fermé
schizo - 27 sept. 2010 à 16:40
jeanch_tlse Messages postés 13 Date d'inscription dimanche 26 septembre 2010 Statut Membre Dernière intervention 2 mars 2014 - 27 sept. 2010 à 21:48
Bonjour,
Mon forum est plein de spams, je cherche donc à les supprimer en masse directement dans la base de données. L'idée pour moi étant de supprimer tout les messages qui font un lien dans le corps du texte. J'ai essayé l'expression suivante mais sans succès :

DELETE  *  FROM  'mabase'.'matable'  WHERE (  'monchamp'  LIKE  '%href%' )


Rien n'est supprimé. ai-je fait une faute de quelque part

2 réponses

jeanch_tlse Messages postés 13 Date d'inscription dimanche 26 septembre 2010 Statut Membre Dernière intervention 2 mars 2014 3
27 sept. 2010 à 18:45
Bonjour,
Je ne connais pas MySql, mais s'il n'y a pas de message d'erreur, peut etre manque il un "commit" pour valider.
0
Qu'est ce que c'est un commit ?
0
jeanch_tlse Messages postés 13 Date d'inscription dimanche 26 septembre 2010 Statut Membre Dernière intervention 2 mars 2014 3
27 sept. 2010 à 21:48
Commit; est une instruction pour valider les modifications(update) ou suppressions (delete) en cours.
Rollback; est une instruction pour annuler les modifications/suppressions en cours.

Et a priori il ne faut pas mettre "*" entre delete et from :
DELETE FROM 'mabase'.'matable' WHERE ( 'monchamp' LIKE '%href%' )

Voir la syntaxe sur l'aide en ligne MySql : https://dev.mysql.com/doc/ : reference manual / data manipulation syntax

12.2.2. DELETE Syntax

Single-table syntax:

DELETE [LOW_PRIORITY] [QUICK] [IGNORE] FROM tbl_name
[WHERE where_condition]
[ORDER BY ...]
[LIMIT row_count]
0