MySQL 删除字段内所有 \n 及 \r 字符


今天在一个系统上除错, 发现用以下 SQL 指令找不到资料:

要用以下 SQL 指令才可以找到:

用 phpMyAdmin 检查那些资料好像没问题, 再细心找才发现有些资料的字段结尾有 “\n” 或 “\r”, 出现这个问题的原因大栏是在插入资料时没有删除掉 “\n” 这类字符, 插入的部份很容易解决, 再来要将原有的资料内的 “\n” 及 “\r” 删除。

在处理前先将资料表备份, 然后可以用以下 SQL 指令将所有 “\n” 及 “\r” 空白字符删除, 以下例子会将 “table_name” 资料表内的 “name” 字段的 “\n” 及 “\r” 删除:

如果只将删除 “\n” 或 “\r” 其中一个字符, 可以改成这样:

删除 “\n”

删除 “\r”

Leave a Reply