sqlite3中对表字段的增删改查

android今天在做数据库升级时,碰到要对原来数据库中一张表的一个字段名进行修改,但是用:
alter table tablename rename column oldColumnName to newColumnName;
始终不成功,后面查阅相关信息:
sqlite supports a limited subset of ALTER TABLE. The ALTER TABLE command in sqlite allows the user to rename a table or to add a new column to an existing table. It is not possible to rename a column,remove a column,or add or remove constraints from a table.
sqlite支持一个更改表内容的有限子集,就是说在sqlite更改表的命令中,只允许用户重命名表名或者增加多一个列到一个的表中。而重命名一个字段名和删除一个字段、或者增加删除系统规定的参数这些操作是不可能的。
后面只能先重命名原来的表,之后新建一张表,把原来的数据复制到新表中,最后删除掉旧的表就可以了。效率有点低,但是没办法。
String rename_sql = "ALTER TABLE "+DB.UserInfoTable.TABLE_NAME+" RENAME TO temp";
String insert_sql = "INSERT INTO "+DB.UserInfoTable.TABLE_NAME+" SELECT * FROM temp";
String drop_sql = "DROP TABLE temp";
db.execsql(rename_sql);
db.execsql(DB.UserInfoTable.CREATE_TABLE);
db.execsql(insert_sql);
db.execsql(drop_sql);

注意执行的顺序@H_502_31@


@H_502_31@

如果要在sqlite的表中增加一个字段,方法如下:@H_502_31@

@H_502_31@

执行一个语句即可,比如下面的语句给table1语句增加一个AAA字段,类型为VARCHAR(10):
ALTER TABLE `table1` ADD `AAAA` VARCHAR(10) NOT NULL ;

相关文章

安装 在Windows上安装SQLite。 访问官网下载下Precompliled Binaries for Windows的两个压缩包。 创建s...
一、安装 下载地址:http://www.sqlite.org/download.html 将Precompiled Binaries for Windows下的包下...
实例: 会员信息管理 功能:1.查看数据库 2.清空数据库 3.增加会员 4.删除会员 5.更新会员 6.查找会员  ...
关于SQLite SQLite是一个轻量的、跨平台的、开源的数据库引擎,它的在读写效率、消耗总量、延迟时间和整...