2010-09-10 6 views
2

У меня есть синтаксический анализатор, который анализирует XML-файл в базе данных SQLite, а текущая реализация генерирует «create table xyz ...», даже если таблица уже существует.Можно ли несколько раз запускать «create table ...»?

  • В порядке? Я имею в виду, нормально ли запускать «create table», даже если таблица существует в db?
  • Если нет, существует ли простой способ проверить имена таблиц (и его содержимого), которые имеет SQLite db?

ответ

1

Вы можете DROP TABLE перед тем CREATE TABLE, вы можете безопасное место DROP TABLE, кто не существует, то вы не должны проверять для TABLE существования до того DROP.

+0

DROP TABLE может быть объединен с «IF СУЩЕСТВУЕТ» пунктом, а также для предотвращения ошибки. – bot403

1

SQLite имеет предложение «ЕСЛИ НЕ СУЩЕСТВУЕТ», чтобы вы могли выбросить «CREATE TABLE» в базе данных и проигнорировать его, если он уже существует. Например:

CREATE TABLE, ЕСЛИ НЕ СУЩЕСТВУЕТ mytable (id INTEGER);

URL-адрес в документацию об этом по адресу: http://www.sqlite.org/lang_createtable.html

Смежные вопросы