2014-11-24 6 views
-3

Моя база данных содержит два поля «имя» и «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» для обновления в ЕКЕ Выполнить SQL запросы/запросы на Medinfo базы данных: Документация

+0

Вы ожидали только "пункт" в обоих местах? – Jonny

+1

thats очень неясно, что вы просите, пожалуйста, отформатируйте таблицу снова – Shaeldon

ответ

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 Stumbleupon Twitter Google+ Pinterest Linkedin + из всех ячеек –

+0

получить ошибку, используя ваш второй вариант. Вы не можете указать целевую таблицу «master_med» для обновления в разделе FROM. –

+0

Обновите свой ответ и опубликуйте свой sql – JTC

Смежные вопросы