Да, это возможно. Или, по крайней мере, сам sqlite3 не запрещает этого.
В следующем примере будет создана таблица tbl'1
create table "tbl'1"(one varchar(10), two smallint);
Но.
Есть несколько причин, почему вы не должны этого делать:
- Именование таблиц после ввода пользователя просто недопустимо. (http://xkcd.com/327/)
- Я предполагаю, что вы используете оболочку базы данных и не имеете прямого доступа к файлу sqlite3. Если да, то это решение может в конечном итоге потерпеть неудачу.
- Если у вас есть действительная модель базы данных, вам не нужно будет динамически создавать таблицы. Вместо этого вставьте строки для новых данных . Там вы можете использовать столько экранирующих символов, сколько захотите.