Sqlite tek bir deyimde tablo eklemek ÇOKLU sütunları değiştirmek mümkün mü? Aşağıdakiler işe yaramaz.
tablo testi değiştirmek sütun mycolumn1 metin eklemek, mycolumn2 metin sütun eklemek;
Sqlite tek bir deyimde tablo eklemek ÇOKLU sütunları değiştirmek mümkün mü? Aşağıdakiler işe yaramaz.
tablo testi değiştirmek sütun mycolumn1 metin eklemek, mycolumn2 metin sütun eklemek;
Yanıtlar:
Hayır, bunları birer birer eklemelisiniz. SQLite'ın ALTER TABLE belgelerinin üstündeki sözdizimi diyagramına bakın :
Dalda döngü yoktur, bu ADD
nedenle tekrarlamaya izin verilmez.
@Mu'dan gelen cevap çok kısa 'doğru. Ek olarak, SQL'deki işlemlerin yararını kullanarak birden çok sütun eklemek için optimize edilmiş bir geçici çözüm eklemek.
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();
Umarım bu birisine yardım eder.
Şimdiye kadar kullanabileceğim tek şey
BEGIN TRANSACTION;
ALTER TABLE tblName ADD ColumnNameA TEXT DEFAULT '';
ALTER TABLE tblName ADD ColumnNameB TEXT DEFAULT '';
ALTER TABLE tblName ADD ColumnNameC TEXT DEFAULT '';
COMMIT
Unutmayın; amaçlı olarak sorguyu birden çok satır olarak okumak.
Sonra ben bu sorguyu çalıştırın ve çalıştırmak birden fazla sütun eklenti olsun ... Yani hayır bir satırda değil, ama bir sorguda evet mümkündür.
tablo değiştirme testi sütun ekle mycolumn1 metin; tablo değiştirme testi sütun ekle mycolumn2 metin;
yukarıdaki yeniden oluşturulmuş sorguyu kullan
;
ayırıcı olarak kullanılan her şey birden çok ifade olarak yürütülmelidir ve çoğu zaman önemlidir. Diğer cevap, OP'nin istediği şeyin imkansız olduğunu zaten gösterdi.