エスケープ文字は'であるため、引用符を2つの引用符に置き換える必要があります。
たとえば、
SELECT * FROM PEOPLE WHERE SURNAME='O'Keefe'
になる
SELECT * FROM PEOPLE WHERE SURNAME='O''Keefe'
そうは言っても、これを自分で行うのはおそらく間違っています。あなたの言語にはSQLで使用するために文字列をエスケープする関数があるかもしれませんが、さらに良いオプションはパラメータを使用することです。通常、これは次のように機能します。
SQLコマンドは次のようになります:
SELECT * FROM PEOPLE WHERE SURNAME=?
次に、実行時に「O'Keefe」をパラメータとして渡します。
SQLはパラメーター値が設定される前に解析されるため、パラメーター値がSQLの構造を変更する方法はありません(また、異なるパラメーターを使用して同じステートメントを複数回実行する場合は、少し速くなります)。
また、あなたの例ではエラーが発生するだけですが、文字列を適切にエスケープしないと、他の多くの問題が発生する可能性があることも指摘しておく必要があります。 http://en.wikipedia.org/wiki/SQL_injection
を参照してください。 良い出発点または次の古典的な