2014-01-28 3 views
1

Если вы используете ALTER TABLE для изменения SQLite db, будет конфликт, когда приложение загружается снова, когда оно проверяет, существует ли таблица с исходными 4 столбцами, а затем создает Это? Будет ли он видеть новую таблицу как другую, потому что она имеет дополнительные столбцы и воссоздает ее и переписывает старую, чтобы вернуться к повторению четырех столбцов?делает конфликт ALTER TABLE с IF TABLE NOT EXIST

У меня есть список имен студентов, и я хочу, чтобы учитель вводил записи посещаемости. Я собирался использовать ALTER TABLE, чтобы добавить дату записи посещаемости в существующую таблицу, которая начинается только с 4 столбцов (идентификатор, имя, фамилия, преподаватель). Должен ли я просто создать новую таблицу без кода IF NOT EXISTS?

Спасибо!

Обновление { var stat: SQLStatement = new SQLStatement(); stat.sqlConnection = conn; stat.text = "CREATE TABLE IF NOT EXISTS секции (" + "ID INTEGER PRIMARY KEY AUTOINCREMENT," + "класса TEXT" + "учитель TEXT" + "Firstname TEXT" + «LastName TEXT , "+ " gender TEXT) "; stat.addEventListener (SQLEvent.RESULT, onCreate); stat.addEventListener (SQLErrorEvent.ERROR, onDBError); stat.execute(); }

+0

Как ваш код проверяет таблицу? – CyanAngel

ответ

1

CREATE TABLE IF NOT EXISTS создает таблицу только в том случае, если таблица с данными имя не существует. Он не смотрит на столбцы.

См. here для одного подхода к управлению версиями баз данных.

+0

Thats awesome! спасибо – user2957919