Избегайте апострофа (то есть удваивайте символ одинарной кавычки) в вашем SQL:
INSERT INTO Person
(First, Last)
VALUES
('Joe', 'O''Brien')
/\
right here
То же самое относится к запросам SELECT:
SELECT First, Last FROM Person WHERE Last = 'O''Brien'
<ч />
Апостроф или одинарная кавычка - это специальный символ в SQL, который определяет начало и конец строковых данных. Это означает, что для использования его в качестве части ваших строковых данных вам необходимо escape
специальный символ. С помощью одной цитаты это обычно достигается путем удвоения вашей цитаты. (Два символа одинарных кавычек, а не двойные кавычки вместо одинарных.)
Примечание : вам следует беспокоиться об этой проблеме только при ручном редактировании данных через интерфейс необработанного SQL, поскольку написание запросов вне разработки и тестирования должно быть редким явлением. В коде есть методы и структуры (в зависимости от вашего стека), которые заботятся о экранировании специальных символов, SQL-инъекция и т. Д.