私はドキュメントを理解していません。誤ってDBにテーブルを落としてしまい、元のファイルが壊れてしまうのではないかと心配です。値を持つ列を追加するを参照しSQLITEASSETHELPER適切なアップグレードスクリプト
https://github.com/jgilfelt/android-sqlite-asset-helper
。次のコードは、クリエイターのgit-ハブサンプル
-- 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";
私はこれは正しい構文になり、列にそれらの中に2つの列を追加し、束値を挿入する必要がある場合を介して提供されますか?
-- add a FullNames column and NickName 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),
"NickName" varchar(150),
PRIMARY KEY ("EmployeeID")
);
INSERT INTO Employees (FullName, NickName)
VALUES ('Tyler Durden','Jack')
WHERE rowid = 18;
INSERT INTO Employees (FullName, NickName)
VALUES ('Donnie Darko','Jake')
WHERE rowid = 19;
DROP TABLE "Employees_ME_TMP";
INSERTは、行ではなく、列を追加します。 –
@CL http://www.tutorialspoint.com/sqlite/sqlite_insert_query.htmは、そうでないことを示唆します。しかし、大丈夫ですが、どうすればこの問題を "挿入または追加"して、ROWIDと正しい列名に関して適切な行にVALUESを追加できますか? –
"SQLite INSERT INTO文は、データベースのテーブルに新しいデータ行を追加するために使用されます。 –