0

我试图在 id=1 的地方进行插入和替换,原因是我只想要数据库中的一个条目。因此,当用户输入一个值时,它将替换原始值,但此时它只是添加它:

INSERT OR REPLACE INTO Animals(CAT) values ('Toby')"

它工作正常,但我只想要一只猫。我试过

INSERT OR REPLACE INTO Animals(CAT) values ('Toby') WHERE ID='1'

但是它不起作用,还尝试了 Where ID=1 和 Where ID="1"。

当我输入第二只猫时,我希望它替换已经存在的猫,ID 是我表中的主键。

CREATE TABLE IF NOT EXISTS ANIMALS (ID INTEGER PRIMARY KEY AUTOINCREMENT, CAT VARCHAR)

这不是最干净的方法,所以我愿意接受建议

4

1 回答 1

3

在 SQLite3 中,不支持使用WHEREafter INSERT OR REPLACE

在此处输入图像描述

我认为您需要UPDATE使用WHERE.

如果你只想在你的数据库中有一行——这就是我解释你的问题的方式——使用NSUserDefaults而不是 SQLite 可能更容易。

此外,请确保正确设置主键和唯一索引;不然REPLACE不知道换什么。

于 2013-06-24T18:50:38.730 回答