Bonjour,
Je ne parviens pas à exécuter une requête qui pourtant me parait simple.
Je souhaiterais supprimer toutes les lignes d'une table qui commencent par un certain motif.
ex:
sachant que dans cette table j'ai:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 mysql> delete from errors_201010 where msg like '10.0%' ; ERROR 1031 (HY000): Table storage engine for 'errors_201010' doesn't have this option
et
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 mysql> select msg from errors_201010 ; +----------------------------------------------- | msg +----------------------------------------------- | 10.1.2.177 - - [30/Sep/2010:02:00:00 +0200] | 10.0.0.1 - - [30/Sep/2010:02:00:00 +0200] | 10.1.2.177 - - [30/Sep/2010:02:00:01 +0200] | 10.1.2.177 - - [30/Sep/2010:02:00:01 +0200] | etc... +-----------------------------------------------
En gros, j'ai l'impression que MySQL n'aime pas trop le LIKE dans le DELETE ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 mysql> describe errors_201010 ; +----------+-------------------------------------------------------------------------------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +----------+-------------------------------------------------------------------------------------+------+-----+---------+-------+ | date | datetime | NO | | NULL | | | logfile | varchar(128) | YES | | NULL | | | logline | int(10) unsigned | YES | | NULL | | | loglevel | enum('WARNING','ERROR') | NO | | ERROR | | | type_msg | enum('LINE_TOO_LONG','NOT_MATCHED','TAG_NOT_FOUND','INVALID_REFERER','URL2SERVICE') | YES | | NULL | | | msg | blob | YES | | NULL | | +----------+-------------------------------------------------------------------------------------+------+-----+---------+-------+
Quelqu'un aurait un moyen pour faire ce DELETE ?
Partager