是否可以在sqlite中的单个语句中更改表添加MULTIPLE列? 以下方法无效。
alter table test add column mycolumn1 text, add column mycolumn2 text;
答案 0 :(得分:275)
答案 1 :(得分:1)
到目前为止,我唯一可以使用的是
BEGIN TRANSACTION;
ALTER TABLE tblName ADD ColumnNameA TEXT DEFAULT '';
ALTER TABLE tblName ADD ColumnNameB TEXT DEFAULT '';
ALTER TABLE tblName ADD ColumnNameC TEXT DEFAULT '';
COMMIT
请注意,这里有;故意使查询被读取为多行。
然后我运行此查询,并在运行时添加多列...因此,不在一行中没有,但是在一个查询中是可能的。
答案 2 :(得分:0)
@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();
我希望这会对某人有所帮助。
答案 3 :(得分:-15)
alter table test add column mycolumn1 text; alter table test add column mycolumn2 text;
使用上面的redifined查询