Могу ли я объявить имя таблицы с escape-последовательностями в sqlite3? - PullRequest
2 голосов
/ 26 августа 2011

Можно ли создать имя таблицы с escape-последовательностями? как TableName: Exampl's

У меня есть EditText, и у него такая запись, и я хочу создать для него таблицу, и нет никаких ограничений для текста редактирования.

1 Ответ

1 голос
/ 25 июля 2012

Да, это возможно. Или, по крайней мере, сам sqlite3 не запрещает этого. В следующем примере будет создана таблица tbl'1

create table "tbl'1"(one varchar(10), two smallint);

Но.

Есть несколько причин, почему вы не должны этого делать:

  • Именование таблиц после ввода пользователя просто недопустимо. (http://xkcd.com/327/)
  • Я предполагаю, что вы используете оболочку базы данных и не имеете прямого доступа к файлу sqlite3. Если да, то это решение может в конечном итоге потерпеть неудачу.
  • Если у вас есть действительная модель базы данных, вам не нужно будет динамически создавать таблицы. Вместо этого вставьте строки для новых данных . Там вы можете использовать столько экранирующих символов, сколько захотите.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...