2013-07-14 4 views
0

Как выполнить такой запрос? Вот пример запроса, который добавляет новый столбец.проверить, существует ли столбец перед изменением таблицы

ALTER TABLE [users] ADD COLUMN [description] VARCHAR(255) NOT NULL DEFAULT '' 

Всякий раз, когда этот запрос выполняется снова, он вызывает следующую ошибку.

SQLiteManager: Likely SQL syntax error: ALTER TABLE [users] ADD COLUMN [description] VARCHAR(255) NOT NULL DEFAULT '' [ duplicate column name: description ] Exception Name: NS_ERROR_FAILURE Exception Message: Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [mozIStorageConnection.createStatement]

Я хотел бы устранить эту ошибку, если это возможно. Например, следующий запрос не вызывает ошибок при выполнении несколько раз.

CREATE TABLE IF NOT EXISTS [users] ([id_users] INTEGER PRIMARY KEY AUTOINCREMENT) 

Но SQLite не поддерживает IF условие в начале запроса, поэтому я довольно много невежественный, что делать. Я также пытался использовать выражение CASE, но не удалось. Любая помощь приветствуется.

ответ

2

Невозможно сделать это с помощью одного ALTER TABLE.

Вы можете проверить, существует ли столбец с другой командой (например, PRAGMA table_info(users)).

+0

Спасибо за ответ. Я соглашусь с этим, потому что никто не ответил. – Stylock

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