2012-11-02 42 views
1

我試圖從表中刪除記錄,以獲得太多的垃圾郵件。所以,這個想法是刪除沒有電子郵件從Hotmail,Gmail或雅虎的所有記錄。但我的SQL看起來正在恢復一些Hotmail的記錄:刪除哪裏的電子郵件不是已知的電子郵件客戶端

SELECT * 
FROM `users` 
WHERE email NOT LIKE '*hotmail.com*' 
AND email NOT LIKE '*gmail.com*' 
AND email NOT LIKE '*ymail.com*' 

運用OR條件返回相同的結果。你能引導到正確的方向嗎?

+0

做過的人使用的是hotmail.com,還是他們使用的東西非常接近它像hotmail.co? – Greg

+0

嗯,好點。它應該能夠保持hotmail.co和hotmail.com:s – manix

回答

2

查詢應該是這樣的

SELECT * 
FROM `users` 
WHERE email NOT LIKE '%hotmail.com%' 
AND email NOT LIKE '%gmail.com%' 
AND email NOT LIKE '%ymail.com%' 

你必須%

更換*如果SQL LIKE子句與%字符一起使用,那麼它會工作 像元字符( *),同時在命令提示符下列出所有文件或 目錄。

Here's約LIKE在MySQL的文檔

+0

非常感謝你:)我保留在我的'%'作爲佔位符 – manix

+0

很高興幫助;) – Marc

2
SELECT * 
FROM users 
WHERE email NOT RLIKE '\\@(hotmail|gmail|ymail)\\.com$' 
+0

此查詢也適用,但是它使用正則表達式,對? – manix

+0

@manix:正確。 – Quassnoi

0

您的查詢也可以回到你的Gmail和ymail

在MySQL中,你必須使用%而不是*

所以,剛剛替補它和一切都會好起來的。

相關問題