我目前正在使用Windows Phone 8中的SQLite数据库。我有一个表,其中有一些列和数据在应用程序中是实时的。现在进行下一次更新,我想在该表中添加一个新列而不会丢失先前插入的数据。
有人可以建议我如何达到这个要求?
修改
这是我要在其中添加新列的类。
public class Info
{
[PrimaryKey]
public int id{get;set;}
public string name{get;set;}
public string information{get;set;}
public string nick_name{get;set;}
}
列dataType是字符串,其如下
public string disp_id{get;set;}
答案 0 :(得分:1)
添加表定义和新列类型可能有助于我们为作业提供一些SQL。
无论如何,当应用程序更新时,应用程序将停止。
编辑:
由于您没有发布精确回复所需的SQL,我想象"它是怎么样的,所以我可以完成这个答案。 鉴于你的表格看起来像这样:
CREATE TABLE "info" (
"id" INTEGER NOT NULL,
"name" TEXT,
"information" TEXT,
"nick_name" TEXT,
PRIMARY KEY ("id" ASC)
);
添加列将恢复到此:
PRAGMA foreign_keys = OFF;
alter table "info" rename to "info_temp";
CREATE TABLE "info" (
"id" INTEGER NOT NULL,
"name" TEXT,
"information" TEXT,
"nick_name" TEXT,
"disp_id" TEXT,
PRIMARY KEY ("id" ASC)
);
insert into "info" ("id", "name", "information", "nick_name") select "id", "name", "information", "nick_name" from "info_temp";
DROP TABLE "main"."info_temp";
这是做什么的: