我的数据库包含两个字段“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 - 您无法在FROM子句中为更新指定目标表'master_med' 在数据库medinfo上运行SQL查询/查询:文档
答案 0 :(得分: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
)