SQLite 中的 IF 语句:更新还是插入?

2024-04-11

我无法使用 SQLite 运行此查询

if 0<(select COUNT(*) from Repetition where (Word='behnam' and Topic='mine'))
begin
 update Repetition set Counts=1+ (select Counts from Repetition where (Word='behnam' and Topic='mine'))
end
else
begin
    insert Repetition(Word,Topic,Counts)values('behnam','mine',1)
end

它说“IF 附近的语法错误” 我该如何解决这个问题


SQLite 没有 IF 语句(查看支持的查询列表 http://www.sqlite.org/lang.html)

Insetad,看看ERIC B对另一个人的建议thread https://stackoverflow.com/questions/418898/sqlite-upsert-not-insert-or-replace。您实际上正在考虑执行 UPSERT(如果记录存在则更新,如果不存在则插入)。 Eric B. 有一个很好的示例,说明如何利用 SQLite 中的“INSERT OR REPLACE”功能在 SQLite 语法中执行此操作。基本上,你会做类似的事情:

INSERT OR REPLACE INTO Repetition (Word, Topic, Counts)    
VALUES (  'behnam', 'mine',
          coalesce((select Counts + 1 from Repetition 
                   where Word = 'behnam', AND Topic = 'mine)
                   ,1)
       )
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SQLite 中的 IF 语句:更新还是插入? 的相关文章

  • 如何在 where 子句中使用别名? [复制]

    这个问题在这里已经有答案了 可能的重复 在 WHERE 子句中引用列别名 https stackoverflow com questions 8370114 referring to a column alias in a where cl
  • 导出 Azure SQL 数据库时出现错误 SQL71501

    导出 Azure SQL 数据库时出现奇怪的错误 导出一直工作正常 直到最近发生一些架构更改 但现在出现错误 SQL71501 该数据库是V12 兼容性级别130 尽管master数据库仍兼容级别 120 该问题似乎是由一个新的表值函数引起
  • Visual Studio 2008 (C#) 与 SQL Compact Edition 数据库错误:26

    与网络相关或特定于实例的 建立时发生错误 连接到 SQL Server 服务器 未找到或无法访问 验证实例名称是否为 正确并且 SQL Server 是 配置为允许远程 连接 提供商 SQL 网络 接口 错误 26 错误定位 指定服务器 实
  • SQL 删除自动命名约束

    我使用脚本在表上创建了一些约束 但未指定约束名称 结果 我最终受到了像这样的限制FK DOC OBGS kntr 54E63309例如 是否可以在不指定确切的约束名称的情况下删除该约束 例如 类似这样的东西 不起作用 ALTER TABLE
  • SQL查询多行变成单行

    有什么方法可以将通常返回具有相同值的多行的 SQL 查询更改为单行吗 例如 如果我现有的查询返回以下内容 ColA ColB 1 AA 1 BB 1 CC 2 AA 3 AA 我可以将查询更改为仅返回 3 行 并将 1 的第二个和第三个结果
  • 如何从 Databricks Delta 表中删除列?

    我最近开始发现 Databricks 并遇到了需要删除增量表的特定列的情况 当我使用 PostgreSQL 时 它就像 ALTER TABLE main metrics table DROP COLUMN metric 1 我正在浏览 Da
  • iPhone 存储大量图像

    我有大量与 sqlite 数据库中的记录相对应的图像 我应该把它们存放在哪里 我有同一张图像的 3 个版本 大号 中号 拇指号 我不想将它们存储在数据库表中 而是从每条记录中引用它们 所有图像都具有相同的名称 每个小 中和大图像文件都将被称
  • SQL 解析键值字符串

    我有一个像这样的逗号分隔字符串 key1 value1 key2 value2 key3 value3 key1 value1 1 key2 value2 1 key3 value3 1 我想将它解析成一个如下所示的表 Key1 Key2
  • 寻找多列索引的最佳顺序

    假设我有一个包含两个索引的表 一个位于 a 列 一个位于 a b 和 c 列 我注意到 根据索引定义中列的顺序 MySQL 可能最终使用单列索引而不是多列索引 即使多列索引中的所有三列都在 ON 中引用JOIN 的一部分 这有点引出了一个问
  • 获取MySql中重复行的列表

    我有一张这样的桌子 ID nachname vorname 1 john doe 2 john doe 3 jim doe 4 Michael Knight 我需要一个查询 该查询将从具有相同 nachname 和 vorname 的记录
  • 如何在一列中存储数组或多个值

    运行 Postgres 7 4 是的 我们正在升级 我需要将 1 到 100 个选定项目存储到数据库的一个字段中 98 的情况下 只会输入 1 个项目 而 2 的情况下 如果是这样的话 会输入多个项目 这些项目只不过是文本描述 截至目前 长
  • 如何确定 SQLite 索引是否唯一? (使用 SQL)

    我想通过 SQL 查询找出索引是否是唯一的 我正在使用 SQLite 3 我尝试了两种方法 SELECT FROM sqlite master WHERE name sqlite autoindex user 1 这将返回有关索引的信息 t
  • 哪种 SQL 模式能够更快地避免插入重复行?

    我知道有两种不重复插入的方法 第一个是使用WHERE NOT EXISTS clause INSERT INTO table name col1 col2 col3 SELECT s s s WHERE NOT EXISTS SELECT
  • 在 Oracle 中创建数据库链接时出错

    我有两个数据库 需要编写跨数据库查询 所以我试图创建一个数据库链接 CREATE PUBLIC DATABASE LINK DBLink CONNECT TO SchemaName IDENTIFIED BY 123 using DBNam
  • 带有 viewbags 的 MVC 数据集

    如何将数据集放入视图袋中并在视图中显示结果 我有一个来自模型的数据集 并将其写入视图包 我想使用 foreach 循环从视图中的视图包中获取数据行 我已经有一个变量进入视图 所以我无法正常传递数据集 每页我还会有许多其他数据集 所以我认为
  • 在 C# 中多次使用单个参数的更好方法

    我刚开始使用准备好的语句从数据库查询数据 并且在实现 C 参数 特别是 OracleParameters 时遇到问题 假设我有以下 SQL string sql select from table1 t1 table2 t2 where t
  • 从Oracle表中删除重复行

    我正在 Oracle 中测试某些内容并使用一些示例数据填充表 但在此过程中我不小心加载了重复记录 因此现在我无法使用某些列创建主键 如何删除所有重复行并只保留其中一行 Use the rowid伪列 DELETE FROM your tab
  • 将两个sql查询合并为一个查询

    如何组合以下 2 个查询以便获得两列 PAYMODE 和付款类型 两个查询都很相似 并且针对同一个表 将两个 sql 查询合并为一个查询 这样我就不需要执行两个单独的查询 SELECT ETBL DESC TXT as PAYMODE FR
  • 如何更改Python使用的SQLite版本?

    我在 Debian 9 12 上安装了 Python 3 8 和 SQLite 3 16 2 并且需要升级到较新版本的 SQLite 我已经下载并编译了 SQLite 网站上提供的合并 并将其放入 usr bin 所以当我这样做时 sqli
  • Azure函数插入但不更新cosmosDB

    我有一个 azure 函数 从 Azure 服务总线队列接收消息并将文档发送到 cosmosDB 我正在使用 Azure 函数 1 x public static class Function1 FunctionName Function1

随机推荐

  • (使用 -source 7 或更高版本在交换机中启用字符串)错误;Netbeans 7.1.2

    我使用的是 JDK 7 和 Netbeans IDE 7 1 2 正在经历在 switch 中使用字符串 http docs oracle com javase tutorial java nutsandbolts switch html
  • 安装 Firebase for React 时出现 Grpc 错误

    我已经尝试修复这个错误两天了 我所做的就是得到错误 创建反应应用程序名称 cd 应用程序名称 npm install firebase save 这是未能正确安装的部分 这些是我尝试过的主要修复 安装最新版本的Python 3并将其添加到W
  • 从 ES 6 中的对象获取一些属性的单行代码

    如何在 ES6 中以最紧凑的方式编写一个只需要几个属性的函数 我想出了使用解构 简化对象文字的解决方案 但我不喜欢代码中重复字段列表 有没有更苗条的解决方案 v gt let id title v return id title 这是更精简
  • 在 d3.js 中绘制已投影的 geoJSON 地图

    使用 d3 js v3 时 我在使用 geoJSON 数据绘制地图时遇到问题 代码和生成的地图显示在 http bl ocks org 73833ec90a8a77b0e29f http bl ocks org 73833ec90a8a77
  • 如何从主查询中选择计数到子查询中

    我想将主查询中选择的记录数获取到子查询中 我当前尝试执行的查询是 SELECT cat id category name seo name SELECT count category name FROM ccs coupons WHERE
  • 对 stdin、stdout 和 stderr 感到困惑吗?

    我对这三个文件的用途感到相当困惑 如果我的理解是正确的话stdin是程序写入其请求以在进程中运行任务的文件 stdout是内核将其输出写入其中的文件 并且请求它的进程从中访问信息 并且stderr是输入所有异常的文件 在打开这些文件以检查这
  • x86 部分寄存器使用

    如果我在 8 位寄存器中保存一个值 比如说 10DH然后是 8 位寄存器中的另一个值 15DL 这会起作用吗 或者它们会互相覆盖吗 因为它们都是 32 位的EDX登记 mov 10 DH mov 15 DL cmp DL DH jle do
  • jQuery $.ajax 无提示失败,没有错误消息,服务器响应 200 OK

    我正要认真思考这个问题 我使用非常简单的 jQuery ajax 调用从数据库获取值 并用这些值填充一些选择元素 所有这些都以 JSON 形式返回 它在大多数浏览器上对我来说都是无缝工作的 但是客户报告说他们和他们的客户都没有看到结果 我一
  • Android RemoteServiceException:从包发布的错误通知无法缓存 contentViews

    我有一个 Android 应用程序由于未处理的异常而崩溃 但仅限于一台特定设备 运行 Nougat 我相信他们是我的测试人员中唯一一位运行牛轧糖的人 这是例外 Java Lang RuntimeException 从包 我的 包名称 无法缓
  • C/C++ 中 pow() 函数的实现是否因平台或编译器而异?

    花了一天时间调试内置的pow 函数的输出 我的编译器和在线编译器的输出不同 那是一个很长的故事 我写了以下内容最小 完整且可验证的示例 https stackoverflow com help mcve重现情况 Code include
  • 在 angularjs 中创建容器指令

    因此 我尝试创建一个指令来布局列中的项目集合 在 plunker 中 我有一个极其简化的版本 仅使用单个 ul 但这并不重要 我希望该指令被称为像
  • 使用pyspark获取列的数据类型

    我们正在从 MongoDB 读取数据Collection Collection列有两个不同的值 例如 bson Int64 int int float 我正在尝试使用 pyspark 获取数据类型 我的问题是某些列具有不同的数据类型 Ass
  • Nginx:如何仅将主域与 server_name 匹配

    我的目标是重定向example com into www example com不重定向any子域到www 这就是我所拥有的 server listen 443 server name example com return 301 http
  • 使用 Phonegap 安装 Cordova 插件 - 无 Cordova.plist

    我正在尝试为我的应用程序安装一个插件 运行良好 该插件使用 Cordova 和 PhoneGap 框架在 XCode 中编译 根据插件的说明 我应该添加一个密钥Cordova plist文件 但我在我的层次结构中找不到它 这是我的 XCod
  • 如何使用 pincode 作为输入查找纬度和经度列表

    有什么方法可以使用 zip pincode 找到纬度和经度列表吗 Input 560103 Output 12 123456 72 123456 12 123654 72 366666 12 123456 72 123456 on goog
  • 用于将 DataTable 替换为集合的最佳 C# 泛型类?

    我正在尝试将遗留的 C NET 1 1 应用程序带入现代时代 我们使用 DataTable 来收集可能是业务对象的内容 鉴于大多数代码认为它正在与 DataRow 的接口进行通信 那么哪种通用集合可以实现最不痛苦的转换 如果我正确地阅读了您
  • std::stack 是否公开迭代器?

    是否std stack在 C STL 中公开底层容器的任何迭代器 还是应该直接使用该容器 根据堆栈的定义 堆栈没有迭代器 如果您需要带有迭代器的堆栈 则需要自己在其他容器 std list std vector 等 之上实现它 堆栈文档在这
  • Python 导入:导入不带 .py 扩展名的模块?

    在我开发的Python系统中 我们通常有这种模块结构 mymodule mymodule mymodule feature py mymodule test feature py 这使得我们的小测试框架可以轻松导入 test feature
  • 我们如何使用 hibernate criteria API 将列排序为 int?

    您好 我想使用 hibernate Criteria API 从数据库中获取数据 该数据应按某些列作为数字排序 该列在 DB 中定义为 varchar 但我必须以数字形式获取 我在使用标准 API 时遇到问题 因为它仅像字符串一样排序 前任
  • SQLite 中的 IF 语句:更新还是插入?

    我无法使用 SQLite 运行此查询 if 0 lt select COUNT from Repetition where Word behnam and Topic mine begin update Repetition set Cou