gpt4 book ai didi

mysql - 需要在 MySQL 中只选择包含反斜杠的数据

转载 作者:可可西里 更新时间:2023-11-01 06:45:18 25 4
gpt4 key购买 nike

我正在尝试更正数据库中被双重转义的条目。我相信 magic_quotes 在使用 mysql_real_escape_string 时打开了。双重转义导致一些搜索结果不正确/丢失。

我已关闭 magic_quotes 并计划搜索带有反斜杠的条目并更新它们以删除任何双重转义。问题是,当我执行查询以搜索带有反斜杠的条目时,我总是得不到任何结果。

SELECT title FROM exampletable WHERE title LIKE '%\\\\%'

我按照此处的建议使用“%\\\\%”:http://dev.mysql.com/doc/refman/5.0/en/string-comparison-functions.html#operator_like

如果我输出每个标题,其中很多都有不需要的反斜杠,所以我知道它们在那里。我似乎无法在查询中隔离它们。

Example Data:
Old King\'s Road
Running Down A Dream
Can\'t Stop The Sun
This One's For Me

同样,只是尝试返回其中包含\的条目。


编辑:MySQL 版本是 5.0.92-community。排序规则是 latin1_swedish_ci。字符集是UTF-8 Unicode

%\\% 不起作用。我试过了。它在 mysql.com 上被列为不正确:

To search for “\”, specify it as “\\\\”; this is because the backslashes are stripped once by the parser and again when the pattern match is made, leaving a single backslash to be matched against.

最佳答案

当我使用 php 运行命令时,此命令对我有用:

select * from exampletable where title like '%\\\\\\\\%' or title like '\\\\\\\\%' or title like '%\\\\';

我包含开始、任何地方和结束匹配的原因是为了表明它们是不同的。如果您要在末尾查找反斜杠,则只需要 4 个反斜杠。这是因为在它之后没有什么可以逃避的。您在其他命令上使用 8 个反斜杠,因为它们会被 php 解析。

关于mysql - 需要在 MySQL 中只选择包含反斜杠的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5625698/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com