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