相关疑难解决方法(0)

INSERT如果不是EXISTS ELSE UPDATE?

我找到了一些经典的"将来"的解决方案,如果它已经存在,我将如何插入新记录或更新一个记录,但我无法让它们在SQLite中工作.

我有一个表定义如下:

CREATE TABLE Book 
ID     INTEGER PRIMARY KEY AUTOINCREMENT,
Name   VARCHAR(60) UNIQUE,
TypeID INTEGER,
Level  INTEGER,
Seen   INTEGER
Run Code Online (Sandbox Code Playgroud)

我想要做的是添加一个具有唯一名称的记录.如果名称已存在,我想修改字段.

有人可以告诉我该怎么做?

sqlite insert exists

256
推荐指数
8
解决办法
39万
查看次数

如何使用SQLite.swift更新或插入

如果行已经存在,我想更新行的列,但如果它还不存在,那么我想插入一个新行.

相关问题

这种类型的问题通常适用于SQL

特别是SQLite

寻找SQLite.swift实现

我正在尝试通过使用SQLite.swift包装器来开发iOS 来节省开发时间.我选择了这个框架,因为它是在raywenderlich.com上推荐的.我认为有一个更新或插入语法的示例会很有用.

战略

这个答案中,Sam Saffron说:

如果你一般都在做更新,我会..

  1. 开始交易
  2. 做更新
  3. 检查rowcount
  4. 如果为0则执行插入操作
  5. 承诺

如果你通常做插入我会

  1. 开始交易
  2. 尝试插入
  3. 检查主键冲突错误
  4. 如果我们得到错误,请进行更新
  5. 承诺

这样你就可以避免选择,并且你在Sqlite上具有事务性.

这对我来说很有意义,所以在下面我的回答中,我提供了一个"通常做更新"的例子.

sqlite ios swift sqlite.swift

5
推荐指数
1
解决办法
7257
查看次数

标签 统计

sqlite ×2

exists ×1

insert ×1

ios ×1

sqlite.swift ×1

swift ×1