2016-06-16 15 views
0

jeder ist, habe ich wie folgt eine Tabelle:aus streichen Rekord wie

id | img    
1 | 20/23/link.png 
2 | 20/24/link.png 
3 | 20/23/link.png 

ich alle Datensätze löschen möchten, wo ing mit 20/23 beginnt. Wie kann ich das machen ?

Antwort

3
DELETE FROM TABLENAME WHERE IMG LIKE '20/23%' 

Sie müssen den sicheren Update auf 0.

SET SQL_SAFE_UPDATES = 0; 

Aber setzen Sie ihn zurück auf 1 gesetzt, nachdem Sie Datensätze gelöscht.

+0

LÖSCHEN VON Tabelle WHERE IMG wie '20/23% 'was ist der Unterschied zwischen Ihrem Befehl und diesem? –

+0

Entschuldigung, Sie haben Recht –

+0

Warum sollte ich es auf 0 setzen? Ich habe etwa + 200 000 Datensätze zu löschen, wird dies in Ordnung sein? –

0

Verwenden substr

delete from my_table 
where substr(img, 1, 5) = "20/23"; 
2

Hier ist der SQL-Befehl, das zu tun:

DELETE FROM table WHERE img like '20/23%' 

Die % bedeutet, dass diese Zeichenfolge von '20/23' beginnen sollte, und dann alle anderen caracters haben.