NO_BACKSLASH_ESCAPES モードでの特殊文字のエスケープ
MySQL で NO_BACKSLASH_ESCAPES オプションが有効になっている場合、リテラル "%" または " をエスケープする標準的な方法「%」を使用した _" は機能しません。これは、LIKE クエリを実行するときに問題になります。
解決策 1: エスケープ文字を使用する
NO_BACKSLASH_ESCAPES モードでは、エスケープ文字を使用して、" のような特殊文字を保護できます。 %」。エスケープ文字は、LIKE クエリでエスケープ キーワードの後に指定します。
例:
select * from mytable where mycol like '5\% off' escape '\';
このクエリでは、エスケープ文字として「」が使用されているため、「%」はリテラルの "%" 文字。
解決策 2: 別の特殊文字を使用する文字
バックスラッシュをエスケープ文字として使用できない場合は、別の特殊文字を選択して代わりに使用できます。例:
select * from mytable where mycol like '5|% off' escape '|';
ここでは、「|」はエスケープ文字として使用されるため、「5|% off」はリテラルの「%」文字を含む文字列を表します。
以上がMySQL の NO_BACKSLASH_ESCAPES モードで特殊文字をエスケープする方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。