如何在尝试替换文本后更正 SQL 语法错误


How to correct SQL Syntax Error after attempting to replace text

恐怕我在尝试使用 phpMyadmin 替换 MySQL 表中的文本时犯了一个新手错误。我想删除表格中的<!--/ .columns --> ccadr_field_data_body

我运行了查询:

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

从那时起,当我尝试在phpMyAdmin中查看此表中的值时,我收到以下错误消息:

1064 - 您的 SQL 语法有错误;请查看与您的 MySQL 服务器版本相对应的手册,了解在"SET body_value =replace(body_value",","'') LIMIT 0, 25' 在第 1 行使用的正确语法

关于如何回滚或修复语法错误的任何建议?

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

要在检索时重写它:

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 -->', ' ')

这将永久修改它,并且可能会出现可怕的错误,因此与往常一样,在继续之前进行备份