2013-06-05 67 views
0

我使用txt文件將數據上傳到mysql數據庫。 我使用的txt文件如下:LOAD DATA LOCAL INFILE和mysql數據庫中的搜索值

http://www.repubblica.it/ 
http://www.repubblica.it/minify/sites/repubblica/nazionale/config_01.cache.php?name=site_home_css 
http://www.repubblica.it/minify/sites/repubblica/nazionale/config_01.cache.php?name=social_home_css 
http://quotidiano.repubblica.it/home?adv=t&source=homerepit 
http://www.repubblica.it/servizi/mobile/index.html 
http://inchieste.repubblica.it/ 
http://espresso.repubblica.it/ 
http://altoadige.gelocal.it/ 
http://corrierealpi.gelocal.it/ 
http://gazzettadimantova.gelocal.it/ 
http://gazzettadimodena.gelocal.it/ 
http://gazzettadireggio.gelocal.it/ 
http://mattinopadova.gelocal.it/ 
http://ilpiccolo.gelocal.it/ 
http://trentinocorrierealpi.gelocal.it/ 
http://lacittadisalerno.gelocal.it/ 

在我的Java程序我用下面的MySQL的代碼上傳TXT文件:

//here I create the table 
CREATE TABLE table(id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,url VARCHAR(1000) NOT NULL);" 

//here the txt is loaded 
LOAD DATA LOCAL INFILE \'/tmp/test/url.txt\' INTO TABLE table LINES (url) 

所有這一切工作正常。我有兩列我的表:id和url。 enter image description here

當我嘗試使用簡單的該表中搜索一個值:

SELECT url FROM table WHERE url LIKE 'http://www.repubblica.it/' 

SELECT url FROM table WHERE url ='http://www.repubblica.it/' 

MySQL的返回一個空的結果集(即零行)。 (查詢花費0.0004秒) 這裏的phpmyadmin的截圖: LIKE

equal 爲什麼我不能SEACH爲我的價值觀? 我做錯了什麼? 在此先感謝

+1

您需要通配符:'LIKE「%HTTP://www.repubblica.it /%」' –

+0

你只需要一個通配符結尾,把一個在一開始將禁止所有索引的使用。 'LIKE'http://www.repubblica.it /%'' –

回答

0

您需要使用通配符在你喜歡statment LIKE '%..%'匹配字符串

SELECT url FROM table WHERE url LIKE '%http://www.repubblica.it/%' 

的一部分,如果你想直接在phpmysqmin你有一個選項,通過「LIKE%搜索進行搜索。 %」

+0

它可以工作,但使用LIKE'%...%'搜索(例如%http://www.repubblica.it/%)它也返回「錯誤「值如下: 1. http://www.repubblica.it/ 2.http://www.repubblica.it/minify/sites/repubblica/nazionale/config_01.cache.php?name = site_home_css and等等。 我需要知道是否存在特定的網址。 – Ricky

+0

@Ricky避免使用第一個通配符,只需''http://www.repubblica.it /%'' – Fabio

+0

@RickyGeek對於完全匹配,不要使用LIKE,只是'SELECT URL FROM table WHERE url ='http :// www.repubblica.it /' –

0

也許你之前並後串有空格,試試這個:

UPDATE `table` 
SET `url`=TRIM(`url`) 

然後:

SELECT 
    `url` 
FROM 
    `table` 
WHERE 
    `url`='http://www.repubblica.it/' 
+0

我試過了,但它不起作用。 – Ricky