Чи можна змінити таблицю, додавши МНОГО стовпців в один вислів у sqlite? Наступне не працює.
змінити тест таблиці додавання стовпця mycolumn1 текст, додавання стовпця mycolumn2 текст;
Чи можна змінити таблицю, додавши МНОГО стовпців в один вислів у sqlite? Наступне не працює.
змінити тест таблиці додавання стовпця mycolumn1 текст, додавання стовпця mycolumn2 текст;
Відповіді:
Ні, ви повинні додавати їх по одному. Дивіться схему синтаксису вгорі документації ALTER TABLE SQLite :
У ADD
гілці немає циклу, тому повтор не дозволений.
Відповідь від @mu занадто коротка 'є правильною. Крім того, додавання оптимізованого рішення для додавання декількох стовпців з використанням переваг транзакцій у SQL.
String alterTableQuery = "ALTER TABLE " + TABLE_NAME + " ADD COLUMN ";
List<String> newColumns = ..// Your new columns
db.beginTransaction();
for (String column : newColumns){
db.execSQL(alterTableQuery + column + " VARCHAR");
}
db.setTransactionSuccessful();
db.endTransaction();
Я сподіваюся, що це комусь допоможе.
Єдине, що поки що можливо, я використовую
BEGIN TRANSACTION;
ALTER TABLE tblName ADD ColumnNameA TEXT DEFAULT '';
ALTER TABLE tblName ADD ColumnNameB TEXT DEFAULT '';
ALTER TABLE tblName ADD ColumnNameC TEXT DEFAULT '';
COMMIT
Зауважте, що є; спеціально для того, щоб запит читався як кілька рядків.
Тоді я запускаю цей запит і отримую декілька стовпців на ходу… Отже, не не в одному рядку, але так, в одному запиті можливо.
змінити тест таблиці, додати текст стовпця mycolumn1; змінити тест таблиці, додати текст стовпця mycolumn2;
використовувати вищенаведений повторно заданий запит
;
в якості розділювача, повинно бути виконано як кілька операторів, і це часто має значення. Інша відповідь уже продемонструвала, що те, що просить ОП, неможливо.