如果存在总是覆盖?

发布于 2024-11-03 19:39:07 字数 229 浏览 0 评论 0原文

我的表如下所示:

_id, subID, textInput, attribute1, attribute2

当我创建一条新记录时,它保存 5 行...全部具有相同的 subID。如果我使用相同的 subID 创建另一条记录,它会保存 5 行,因此该 subID 总共有 10 行。

我想要的是,如果 subID 已经存在,则只覆盖已经存在的行。我该怎么做呢?

My table looks like:

_id, subID, textInput, attribute1, attribute2

When I create a new record, it saves 5 rows... all with the same subID. If I create another record with the same subID, it saves 5 rows, giving me a total of 10 rows for that subID.

What I would like is if subID already exists to just overwrite the rows that are already there. How would I go about doing that?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

思念绕指尖 2024-11-10 19:39:07

您可以使用 INSERT OR REPLACE,但必须在 subID 上放置唯一索引。

或者,您可以查询表中的 subID,如果找到,则使用简单的 UPDATE 代替。如果未找到,请使用标准 INSERT。

You can use INSERT OR REPLACE, but you'll have to put a unique index on subID.

Alternatively, you can query the table for the subID and if found, use a simple UPDATE instead. If not found, use an standard INSERT.

夏天碎花小短裙 2024-11-10 19:39:07

尝试插入或替换命令。有关详细信息,请参阅 http://www.sqlite.org/lang_conflict.html

Try the INSERT OR REPLACE command. See http://www.sqlite.org/lang_conflict.html for details.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文