關於mysql中特殊字符的使用注意事項
1 直接拼成sql情況 www.2cto.com
●如果是“=”,需要轉義的字符為’ \
'轉為''
\轉為\\\\
具體代碼如下:
sql = sql.replace("'", "''");
sql = sql.replace("\\", "\\\\");
●如果是"like",需要轉義的字符為‘ \ % _
'轉為''
\轉為\\\\\\\\(注意需要8個,漢)
%轉為\\%
_轉為\\_
具體代碼如下:
sql = sql.replace("'", "''");
sql = sql.replace("\\", "\\\\\\\\");
sql = sql.replace("%", "\\%");
sql = sql.replace("_", "\\_");
2 使用預處理sql情況
●只有使用"like"時才需要轉義
\轉為\\\\
%轉為\\%
_轉為\\_
sql = sql.replace("\\", "\\\\");
sql = sql.replace("%", "\\%");
sql = sql.replace("_", "\\_");
注意:因為MySQL在字符串中使用C轉義語法(例如,“\n”),你必須在你的LIKE字符串中重複任何“\”。例如,為了查找“\n”,指定它為“ \\n”,為了查找“\”,指定它為“\\\\”(反斜線在java語法分析的時候被剝去一次,另一次是在數據庫的模式匹配完成時,留下一條單獨的反斜線被匹配)。