Делюсь с вами задачей, которую недавно встретила. Есть у нас вот такой простой запрос: Выполняем мы его через db.rawQuery(query, null) и получаем в ответ android.database.sqlite.SQLiteException: near "Artagnan": syntax error (code 1 SQLITE_ERROR): , while compiling: SELECT * FROM cats WHERE name = 'D'Artagnan'; Тут проблема в том, что catName содержит одинарную кавычку ('), которая не экранируется автоматически и конфликтует с кавычками, используемыми в самом запросе. Но почему это происходит, если я обернула весь запрос в тройные кавычки? Оказывается, SQLite ничего не знает о тройных кавычках, поэтому у нас появляется синтаксическая ошибка. Напомню, что экранирование символов — это такой метод обработки специальных символов в строках, чтобы они воспринимались буквально, а не как часть всей конструкции. Теперь попробуем немного изменённый вариант запроса, и он работает без проблем: И появляются вопросы, ведь в новом запросе тоже одинарная кавычка, которая должна конфликтовать. Однако