【发布时间】:2016-08-09 09:34:24
【问题描述】:
我正在使用 SQLite 来存储 id、uuid、value 和 caught 值。
我用这个命令创建表:
CREATE TABLE IF NOT EXISTS statz_fish_caught
('id' INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
'uuid' TEXT NOT NULL,
'value' INTEGER NOT NULL,
'caught' TEXT NOT NULL);
我使用这个命令来插入(或替换)行:
INSERT OR REPLACE INTO statz_fish_caught (uuid,value,caught)
VALUES ('uuid comes here', a number here, 'a certain string').
假设您在表中有这些数据:
http://pasteboard.co/gofap3y.png
这个数据意味着 UUID1 总共捕获了 9 (1+5+3) 条鱼。 1 型鱼的 1 条,2 型鱼的 5 条和 3 型鱼的 3 条。UUID2 只钓到了 10 条鱼 1 型的鱼。现在假设 UUID1 钓到了一种新的鱼类型:鱼 4 型。数据库应该创建一个新行id 为 5 的自动递增值,uuid 为 'uuid1',value=1 和 caught=fish type 4。
现在我们还假设 UUID 捕获了另一条鱼类型为 3 的鱼。鱼类型为 3 的 uuid1 行(它的 id 为 3)应该更新为表示值 4,如下所示:
http://pasteboard.co/goBZatx.png
这可能吗,如果可以,怎么做?
【问题讨论】:
标签: java mysql sqlite primary-key