Ký tự thoát là ', vì vậy bạn sẽ cần thay thế dấu ngoặc kép bằng hai dấu ngoặc kép.
Ví dụ:
SELECT * FROM PEOPLE WHERE SURNAME='O'Keefe'
trở thành
SELECT * FROM PEOPLE WHERE SURNAME='O''Keefe'
Điều đó nói rằng, nó có thể là không chính xác để tự mình làm điều này. Ngôn ngữ của bạn có thể có chức năng thoát chuỗi để sử dụng trong SQL, nhưng một tùy chọn tốt hơn nữa là sử dụng các tham số. Thông thường điều này hoạt động như sau.
Lệnh SQL của bạn sẽ là:
SELECT * FROM PEOPLE WHERE SURNAME=?
Sau đó, khi bạn thực thi nó, bạn chuyển vào "O'Keefe" dưới dạng tham số.
Bởi vì SQL được phân tích cú pháp trước khi giá trị tham số được đặt, không có cách nào để giá trị tham số thay đổi cấu trúc của SQL (và nó thậm chí còn nhanh hơn một chút nếu bạn muốn chạy cùng một câu lệnh nhiều lần với các tham số khác nhau).
Tôi cũng nên chỉ ra rằng, trong khi ví dụ của bạn chỉ gây ra lỗi, bạn tự mở ra rất nhiều vấn đề khác bằng cách không thoát các chuỗi một cách thích hợp. Xem http://en.wikipedia.org/wiki/SQL_injection để có một điểm khởi đầu tốt hoặc truyện tranh xkcd cổ điển sau đây .