如果存在,总是覆盖?

时间:2011-04-28 22:00:20

标签: sql sqlite

我的表格如下:

_id, subID, textInput, attribute1, attribute2

当我创建新记录时,它会保存5行...所有具有相同的子ID。如果我使用相同的子ID创建另一条记录,则会保存5行,为该子ID提供总共10行。

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

2 个答案:

答案 0 :(得分:4)

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

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

答案 1 :(得分:0)

尝试INSERT OR REPLACE命令。有关详细信息,请参阅http://www.sqlite.org/lang_conflict.html