sqlite - 如何让 INSERT 或 IGNORE 工作

2023-12-25

我正在尝试将数据插入表中。如果该列还没有数据,我想插入该行 - 无论其他列如何。

CREATE TABLE t (
    id          INTEGER PRIMARY KEY,
    name        VARCHAR,
    other       INT
);
INSERT OR IGNORE INTO t (name) VALUES ('a');
INSERT OR IGNORE INTO t (name) VALUES ('a');
INSERT OR IGNORE INTO t (name) VALUES ('a');

通过上面的代码片段,我最终得到了 3 行,而不是我想象的 1 行。如果重要的话,实际的 sql 发生在INSTEAD OF INSERT触发器,这只是一个简单的测试用例。


Replace

CREATE TABLE t (
    id          INTEGER PRIMARY KEY,
    name        VARCHAR,
    other       INT
);

with

CREATE TABLE t (
    id          INTEGER PRIMARY KEY,
    name        VARCHAR UNIQUE,
    other       INT
);

然后你会得到

sqlite> CREATE TABLE t (
   ...>     id          INTEGER PRIMARY KEY,
   ...>     name        VARCHAR UNIQUE,
   ...>     other       INT
   ...> );
sqlite> INSERT OR IGNORE INTO t (name) VALUES ('a');
sqlite> INSERT OR IGNORE INTO t (name) VALUES ('a');
sqlite> INSERT OR IGNORE INTO t (name) VALUES ('a');
sqlite> select * from t ;
1|a|
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

sqlite - 如何让 INSERT 或 IGNORE 工作 的相关文章

  • 游标在“查询、删除表、创建表、查询相同表名”后返回相同的列

    例如我有一个名为myTable在我的数据库文件中 Android ps它不支持列重命名 删除等 这张表有idx name columns 我想删除并重新创建该表 但使用新列 我是这样做的 db transaction var cursor
  • Python 和 sqlite3.ProgrammingError:不允许递归使用游标

    我写了一个像这样的Python程序 它应该在多线程模式下运行 def Func host cursor db cursor execute SELECT If index Username Version Community Ip traf
  • 从SQLite列中获取所有数字字符串并进行总和计算

    我是 Android 和 SQLite 的新手 我在 SQLite 中有一个只有数字的 AMOUNT 列 我可以在 ListView 中显示它 但我无法找到任何我理解的方法来将它们全部添加并显示在 TextView 中 这是数据库助手 im
  • Android 认为我没有关闭数据库!为什么?

    我有一个 SQLiteDatabase 数据成员 我在 onCreate 中初始化它 并在 onPause onStop 和 onDestroy 中调用 close 它在 onResume 中重新初始化 它似乎运行得很好 但当我查看调试器时
  • 如何在 SQLite 中替换字符串?

    如何更新具有以下内容的表列 var mobile 233KKFSDK3234 Documents Page jpg 并将其替换为 Documents Page jpg 在 SQLite 中 注意 所有文字 除了 Documents 是动态的
  • 如何实现 ALTER TABLE 的示例[重复]

    这个问题在这里已经有答案了 我已经多次问过这个问题 但尚未得到完整的答案 如何实现 ALTER TABLE 语句以向数据库添加列 有人可以给我举个例子吗 请阅读SQLite ALTER TABLE 参考 http sqlite org la
  • 与 SQL 中的 IN 运算符相反

    我怎么能做相反的事情 换句话说 选择所有姓氏不是 Hansen 或 Pettersen 的人 WHERE lastname NOT IN Hansen Pettersen 请参阅 IN 和 NOT IN 运算符 部分SQLite 所理解的
  • 使用 nw-gyp 构建 node-sqlite3

    我正在尝试为 node webkit 构建 sqlite3 The sqlite3 https www npmjs com package sqlite3 installing页面解释说它需要使用 nw gyp 来完成 据我了解 我应该下载
  • Qt:如何连接到 SQLite?

    我安装了 SQLite3 解压到 c sqlite 创建了一个数据库 c sqlite mzsales 现在我试图在 QTableView 中显示其内容 QSqlDatabase db QSqlDatabase addDatabase QS
  • Flutter:将字符串转换为 Map

    我正在使用 SQFlite 在本地存储数据 我有一个表 其中有一个名为 json 的字段 该字段的类型为 TEXT 并存储转换为字符串的 json 例如 name Eduardo Age 23 性别男 到目前为止 一切正常 但随后我需要从数
  • Entity Framework 7 和 SQLite 表未创建

    我已经尝试了一段时间来弄清楚如何使用单个 DBContext 以 Code First 方式创建多个表 但没有任何运气 我确信这只是我对框架的不熟悉 但我不确定我错过了什么 这是一个包含实体和 DBContext 的简单示例 Table M
  • SQLite + SpatiaLite 问题

    我正在尝试使用 System Data SQLite 提供程序从 C 访问 SpatiaLite 当我尝试加载 SpatiaLite 扩展时 我总是得到 System Data SQLite SQLiteException SQLite e
  • 研究MySQL、SQLite源码了解RDBMS实现[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我知道实现数据库是一个很大的话题 但我想通过研究数据库系统的源代码来基本了解数据库系统的工作原理 例如
  • Android:SQLite 查询不绑定整数参数?

    我在 Android 平台 2 2 上使用数据库参数进行查询时遇到问题 我创建了这样的表 db execSQL CREATE VIRTUAL TABLE Msg TABLE NAME USING FTS3 Msg ID INTEGER Ms
  • Android中BaseColumns有什么用

    实现一个类有什么用BaseColumns在安卓中 The BaseColumns http developer android com reference android provider BaseColumns html接口提供了非常常见
  • 从 sqlite 和 mysql 加载数据微调器

    我试试这个tutorial http nielpoenya blogspot com 2012 08 tutorial android spinner dari database html加载Spinner from sqlite and
  • 使用Python处理Sqlite数据库中的换行符“\n”?

    我有一个名为 test db 的 Sqlite 数据库 其中包含两个表 其结构如下 表 1 ID 整数主键自动增量 名称 varchar 500 颜色 varchar 500 表2 ID INTEGER PRIMARY KEY AUTOIN
  • 实体框架 SQLite 错误 1:“没有这样的表:__EFMigrationsHistory”

    我在 Windows 和 Linux 上运行 EF Core 并且在两者上都遇到相同的问题 public string DbPath get string DbPath Environment GetFolderPath Environme
  • sqlite3和pdo_sqlite有什么区别

    我正在将我的 Web 应用程序从 MySQL 迁移到 SQLite 数据库 我发现有两个 PHP 扩展用于与 sqlite 通信 php sqlite3 dll and php pdo sqlite dll 什么扩展比较好 或者另一个问题
  • 在线和离线管理 iPhone 应用程序

    我被困在一个点上 我也在离线管理我的应用程序 第一次我从网络服务获取所有配置文件数据并将其路径存储到 sqlite 中时 我在更新这些数据时遇到问题 例如如果图像发生更改 我应该如何通知我的应用程序 我在 Google 上搜索了它 唯一的解

随机推荐

  • 领域数据库解密失败

    Question 当我尝试打开加密领域文件时Realm Browser Windows 它给了我以下消息 这不是 Realm 文件或者已加密 输入 128 个字符的十六进制编码的加密密钥 重要的 我在保存到磁盘之前关闭我的领域 Code R
  • system()的返回码 = 256

    我使用 system 在 Swift 中执行 shell 命令 正如文档中所述 如果成功 返回值应为 0 如果失败 则返回值应为 1 但我得到 256 并且执行似乎成功了 还有一些其他与魔法值 256 相关的问题 但语言不同 没有解决方案
  • 如何从 NodeJS/Tedious 连接到 SQL Azure?

    我有一个 SQL Azure 数据库 正在尝试从 Azure Linux VM 中运行的 NodeJS 应用程序连接到该数据库 当我在本地 SQL 数据库 和 NodeJS 本地计算机上时 一切工作正常 但是 当我从虚拟机运行时 我得到以下
  • Java 中的弯曲文本

    我正在寻找最简单的方法来绘制一些 我的应用程序上椭圆对象周围的文本 我需要创造一种 拥抱 的感觉 到目前为止 我已经使用 Graphics2D 类来打印我的绘图 在屏幕上 我的 画布 是 BufferedImage 我的椭圆的宽度和高度分别
  • Microsoft.IdentityModel 与 System.IdentityModel

    我正在使用表单身份验证和 ASP NET MVC 2 开发基于声明的授权系统 我看到一个命名空间 Microsoft IdentityModel 提供了许多与另一个 System IdentityModel 相同的内容 系统 身份模型 ht
  • boost测试库:多重定义错误

    我正在尝试在 Windows 版 QTCreator 中测试我已经完成的库 微积分 我创建了一个主文件 并在一个单独的文件中创建了一个类用于测试 如果我编译在中找到的示例http www boost org doc libs 1 47 0
  • .Net RIA 服务:DomainService 需要无参数构造函数?

    我在带有一些 Silverlight 组件的 ASP Net 应用程序中使用 Net RIA 服务的 7 月 CTP 我正在从 Silverlight 调用 RIA 服务 当我尝试在域服务 LinqToEntitiesDomainServi
  • Python - “导入”或将模块作为参数传递?

    我想知道是否将模块对象传递给需要它的类或对象而不是使用import可能不是一个坏主意 因为它避免了对这些模块的硬依赖 我想知道是否有人比我更了解 Python Zen 可以解释为什么这是一个可怕 不可怕的想法 你所说的这个叫做依赖注入 ht
  • 如何从常规网站调用 Chrome 扩展程序中定义的函数?

    我想创建一个不属于 chrome 插件的网站 而只是使用该插件公开的一些 API 这可能吗 如果可以 我该怎么做 我用谷歌搜索了这个问题 但找不到任何东西 我正在尝试使用内容脚本 但没有任何反应 有人可以解释这里出了什么问题吗 清单 jso
  • NodeJS Express 和 Apache 在同一服务器上

    我有一个 VPS 在 Apache 配置 etc apache2 sites available 000 default conf 中指定了多个虚拟主机 Example config
  • 如何将 Visual Studio 设置为在按下 F5 时始终生成和调试? [复制]

    这个问题在这里已经有答案了 It used to do this but now if I don t build the solution first before pressing F5 it uses the last built p
  • 替换命令后的 SED 字符(“s”)

    我知道关于s 输入命令sed 但是从未见过使用s 有人能解释一下这到底是做什么的吗 sed e s SRC DIR SRC DIR PROJECT SRC DIR g i proj cfg 我明白那个 e定义一个要执行的脚本 该脚本位于 但
  • 使用 html 标签事件更改缩放

    我是 GMaps API 和 javascript 的初学者 所以这对于真正的专家来说应该是一个简单的问题 我已经开始 玩弄 API 并想尝试一个简单的事情 但我做不到 我四处寻找答案 但没有得到 我已经创建了地图
  • 使用 ThemeData.dark() 或 ThemeData.light() 时更改 Flutter 中的字体系列

    我正在尝试设置我的字体MaterialApp 由于我使用的是深色主题 所以我想使用copyWith然后更改fontFamily 然而 copyWith没有更改的选项fontFamily MaterialApp theme ThemeData
  • 如何将触摸事件传递到tableview下的另一个视图?

    我有一个场景 我重叠了一个视图 pageViewController在视图内 与uitableview偏移量为 130 并且uitableview是透明的 只有单元格会滚动并且可见 我的要求是在 130 这个偏移量范围内 我想将触摸事件传递
  • cv2.CalibrateCamera中retval返回值的含义

    正如标题所示 我的问题是关于 OpenCv 的 calibrateCamera 函数给出的返回值 http docs opencv org modules calib3d doc camera calibration and 3d reco
  • RStudio Shiny 中绘图的比例和大小

    相关 但只谈论一般分配的绘图空间 而不是如何直接设置绘图图像大小和then缩放它以填充所需的空间 闪亮图表空间分配 https stackoverflow com questions 17204735 shiny chart space a
  • C# WCF 客户端 XP 上的内存泄漏

    我有个问题 我编写了一个使用 wsHttpBinding 的 wcf 客户端 WPF 和 c 我正在使用双面打印 我有一个每分钟调用 wcf 服务的函数 称为 KeepConnection 而且我从不关闭客户端代理 因为我需要让客户端始终
  • Xcode 11 无法识别核心数据实体

    我刚刚声明了一个名为 Users 数组的实体 var UsersArray Users 我收到这个错误 使用未解析的标识符 用户 提示 我确实导入了 CoreData 并创建了实体 请尝试这个解决方案 解决方案 1 产品 gt 构建测试为我
  • sqlite - 如何让 INSERT 或 IGNORE 工作

    我正在尝试将数据插入表中 如果该列还没有数据 我想插入该行 无论其他列如何 CREATE TABLE t id INTEGER PRIMARY KEY name VARCHAR other INT INSERT OR IGNORE INTO