【发布时间】:2012-09-11 17:32:33
【问题描述】:
我发现 this post 解释了 UPDATE 和“INSERT OR REPLACE INTO”之间的区别。它解释了
INSERT OR REPLACE INTO names (id, name) VALUES (1, "John")
如果不存在 id = 1 的记录,则插入一个新行,如果存在,则替换 id = 1 的行。我的问题是:SQLite 如何知道或确定“id”是其值确定记录是否已存在的字段?
换句话说,为什么 sqlite 不搜索 name = "John" 的记录并替换 id 值?这是否取决于上面示例中未提及的索引,还是 SQLite 是否对名为“id”的字段或字段名称行中的第一个字段进行特殊处理?
【问题讨论】:
标签: sqlite insert replace indexing