【问题标题】:SQL REPLACE give error in phpmyadminSQL REPLACE 在 phpmyadmin 中给出错误
【发布时间】:2013-04-26 04:10:07
【问题描述】:
UPDATE 'module_tests' SET 'tests_content' = REPLACE('tests_content', '<a onclick=', '<a class="dic"  onclick=');

当我尝试在 phpmysql 中运行顶级查询时,它给出了以下错误。 谁能告诉我这是什么原因?

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''module_tests' SET 'tests_content' = REPLACE('tests_content', '<a onclick=', '' at line 1

【问题讨论】:

  • 'tests_content' 是字段名吗..??如果它的字段名称,那么只需使用 tests_content 不带引号

标签: mysql replace phpmyadmin


【解决方案1】:

删除tablecolumn 名称周围的单引号。您的查询应该是这样的:

UPDATE module_tests SET tests_content = REPLACE(tests_content, '<a onclick=', '<a class="dic"  onclick=');

查看SQLFIDDLE

我怀疑,您对单引号(')和反引号(`)有些混淆。在您的示例中,您可以使用反引号来确保您的表名和字段名不会与 mysql 中的保留字冲突...... 使用反引号,您可以像这样修改您的查询:

UPDATE `module_tests` SET `tests_content` = REPLACE(`tests_content`, '<a onclick=', '<a class="dic"  onclick=');

查看Query With Backtick

【讨论】:

    【解决方案2】:

    将查询更改为:

    UPDATE `module_tests` 
       SET `tests_content` = REPLACE(`tests_content`, '<a onclick=', '<a class="dic"  onclick=');
    

    您将表和列名作为字符串传递。

    【讨论】:

    • 你在tests_content列中有'&lt;a onclick='的值吗?
    猜你喜欢
    • 1970-01-01
    • 2017-10-20
    • 1970-01-01
    • 2016-01-11
    • 1970-01-01
    • 2016-08-08
    • 1970-01-01
    • 2018-10-06
    • 2016-08-06
    相关资源
    最近更新 更多