gpt4 book ai didi

安卓 : Upgrading user database using SQLiteAssetHelper

转载 作者:太空宇宙 更新时间:2023-11-03 10:20:54 26 4
gpt4 key购买 nike

阅读 https://github.com/jgilfelt/android-sqlite-asset-helper 上的文档后,我似乎无法理解如何升级数据库

我只想将用户数据保存在一个表中。我不需要更改任何表格。升级几乎是在另一个表中添加新行。

所以流程(我猜)是:

升级时:
1) 从表1中获取用户自定义数据的ArrayList
2) 更新数据库
3) 将用户数据放回表1

我是不是想错了?
任何提示将不胜感激。

最佳答案

我误解了更新脚本的意义。
当您的应用程序更新时,它不会安装新数据库。它保留您的旧版本,只运行更新脚本以使您的旧版本跟上速度。

因此,如果您不需要更改您的用户数据,它就不会丢失。它只会运行脚本中的sql。

如果您确实需要更改您的用户数据表,您可以使用临时表来进行更改。

例如:

-- add a FullNames column to Employees
ALTER TABLE "Employees" RENAME TO 'Employees_ME_TMP';

CREATE TABLE "Employees"
(
"EmployeeID" int NOT NULL,
"LastName" varchar(20) NOT NULL,
"FirstName" varchar(10) NOT NULL,
"FullName" varchar(150),
PRIMARY KEY ("EmployeeID")
);

INSERT INTO "Employees"
(
"EmployeeID",
"LastName",
"FirstName",
"FullName"
)
SELECT
"EmployeeID",
"LastName",
"FirstName",
"FirstName" || ' ' || "LastName"
FROM
"Employees_ME_TMP";

DROP TABLE "Employees_ME_TMP";

关于安卓 : Upgrading user database using SQLiteAssetHelper,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22219754/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com