2014-11-24 130 views
-3

我的數據庫包含兩個字段「name」和「generic_name」,其中包含大量數據。但它有一些我不需要的信息。例如:從數據庫中刪除垃圾

 name 
    ----------   
item  

         J E 4        
           Share   Facebook   Stumbleupon   Twitter   Google+    Pinterest   Linkedin  + 


    generic_name 
    ----------------- 
item  

         J E 4        
           Share   Facebook   Stumbleupon   Twitter   Google+    Pinterest   Linkedin  + 

我不希望在任何領域以下字符串:

   "J E 4         
           Share   Facebook   Stumbleupon   Twitter   Google+    Pinterest   Linkedin  + " 

我不擅長與SQL查詢。請建議如何從所有單元格中刪除垃圾字符串。

這裏是我嘗試查詢:

DELETE FROM `master_med` WHERE `Sl_No` IN (SELECT Sl_No from `master_med` where `MEDICINE_NAME`=' J E 4                 Share   Facebook   Stumbleupon   Twitter   Google+    Pinterest   Linkedin  +      ') 

四處錯誤:#1093 - 您不能指定目標表「master_med」的更新在FROM子句 運行SQL查詢/查詢數據庫用藥指導:文檔

+0

你在這兩個領域的期待只是 「項」? – Jonny 2014-11-24 14:49:08

+1

多數民衆贊成在很不清楚你在問什麼,請再次格式化你的表格 – Shaeldon 2014-11-24 14:49:46

回答

0

目前尚不清楚,你在問什麼。
這可能是我可以給你沒有更多信息的最佳答案。 請記住,在比較長字符串時,識別行幾乎是一種糟糕的方法。
最好的操作是創建此字符串的md5,然後在行中找到它,然後將其刪除。

$string_hash = md5('string i dont want to'); 
DELETE FROM table WHERE MD5(item) = $string_hash 

或可替換(不太好辦法)

DELETE FROM `master_med` WHERE `Sl_No` IN (
    SELECT Sl_No FROM 
    (
     SELECT Sl_No from `master_med` where TRIM(MEDICINE_NAME)=TRIM('JE 4                 Share   Facebook   Stumbleupon   Twitter   Google+    Pinterest   Linkedin  +      ') 
    ) AS todelete 
) 
+0

我想刪除不必要的字符串J E 4 分享Facebook +所有單元格 – 2014-11-24 16:10:27

+0

使用第二個選項時出錯。您無法在FROM子句中指定要更新的目標表'master_med' – 2014-11-24 16:18:08

+0

更新您的答案併發布您的sql – JTC 2014-11-24 16:34:05