2014-11-24 18 views
0

恐怕我尝试使用phpMyadmin替换MySQL表中的文本时出现新手错误。我想在表中删除<!--/ .columns -->ccadr_field_data_body如何尝试替换文本后纠正SQL语法错误

我跑查询:

SELECT * FROM `ccadr_field_data_body` WHERE `bundle` = 'treatments' 
SET `body_value` = replace(body_value, '<!--/ .columns -->', ' ') 

从那时起,我在尝试中phpMyAdmin的此表中查看值时,出现以下错误信息:

1064 - 您的SQL语法错误;检查对应于你的MySQL服务器版本正确的语法使用近“SET body_value =替换(body_value,”“”‘)LIMIT 0,25’在行手册1

如何任何提示将此回滚或修复语法错误?

+4

你是想更新表格还是试图从中修改SELECT? – tadman 2014-11-24 20:36:54

+0

我试图在表'ccadr_field_data_body'内选择列'bundle'='处理的唯一值。然后,我想在'body_value'列内搜索'<! -/.columns - >'以将其删除。 – 2014-11-25 06:11:47

+0

在这个阶段,我很乐意解开我的原始查询造成的错误。我不明白这个语法足以知道我的查询出错了。任何关于我的查询实际上做了什么的建议以及我如何将其回滚将非常感激。 – 2014-11-25 06:17:30

回答

0

有两种方法可以破解这个螺母。您可以在检索阶段修复它,将其保留在数据库中,或者修复数据库。

要重写它检索:

SELECT *, REPLACE(body_value, '<!--/ .columns -->', ' ') AS body_value 
    FROM ccadr_field_data_body 

它可能更好地扩大*实际的列名,以避免任何在这里重复。

要修复它在数据库:

UPDATE ccadr_field_data_body 
    SET body_value=REPLACE(body_value, '<!--/ .columns -->', ' ') 

这将永久地修改它,它可以去可怕的错误,所以一如既往,继续之前有备份