【问题标题】:SQL Query for Find and Replace is not working查找和替换的 SQL 查询不起作用
【发布时间】:2012-10-20 03:32:18
【问题描述】:

我想使用 php my admin 在我的 sql 数据库中运行查找和替换查询。问题是我要查找和替换的文本中有一些 " 字符,这在我运行命令时会导致问题...

我想搜索align="right">并将其替换为align="left">

我确实运行了这个命令,但它不起作用:

UPDATE `ps_product_lang` SET `description` = replace(`description`,"align="right">","align="left">");

所以我想知道这个查询应该是什么样子,因为有 " 字符?如何搜索更长的文本并使用 sql 查询替换它?

非常感谢

【问题讨论】:

    标签: php mysql sql database phpmyadmin


    【解决方案1】:

    替换字符串应该用单引号作为字符串文字:

    UPDATE `ps_product_lang` SET `description` = replace(`description`, 'align="right">', 'align="left">');
    

    请注意,此解决方案仅在您确定 description 列中的所有字符串都完全是 align="right"> 时才有用。例如,如果您有一些像align='right'> 这样的单引号属性,您将需要做额外的工作 除了上面的双引号属性。

    此外,如果这是您正在执行替换的 HTML 标记,则完全有可能在 align 属性之后不会出现关闭 >。在这种情况下,您确实需要将每一行加载到 HTML 解析器中以更改属性。

    【讨论】:

    • 您的代码运行良好。我也确实使用单引号运行它,并看到一些产品也使用此查询进行了修改。非常感谢。
    • @user1786439 乐于提供帮助。如果答案足够,请点击旁边的勾号将其标记为已接受。欢迎使用 Stack Overflow。
    猜你喜欢
    • 2017-01-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-30
    • 2015-10-12
    • 2020-03-06
    • 2021-12-26
    • 1970-01-01
    相关资源
    最近更新 更多