当前位置: 首页 > 知识库问答 >
问题:

Sqlite插入唯一行[重复]

齐健柏
2023-03-14

我需要在表中插入所有单元格的唯一数据。我的表有3列,如果所有3个单元格的值相同,我需要忽略insert。

例如,我有一个表:|column_1 | column_2 | column_3|

以及此表的值:

  1. |val 1|val 2|val 3|
  2. |val 1|val 2|val 5|
  3. |val 1|val 2|val 3|
  4. |val 1|val 2|val 3|

所以我只需要插入值1和2,因为3和4与1相同。我需要在Sqlite v3.9中完成这项工作。

共有1个答案

令狐唯
2023-03-14

您可以将源表中的不同值插入目标表,如下所示:

INSERT INTO NewTable (coulmn_1, column_2, column_3)
SELECT DISTINCT 
    column_1, 
    column_2, 
    column_3
FROM OldTable
 类似资料:
  • 问题内容: 这似乎很简单:我想在SQLite表中复制一行: 如果没有显式的唯一列声明,则该语句将起作用,但是将声明表的第一列。有什么方法可以创建一个简单的语句,而上面的语句在不知道表模式的情况下起作用(除了第一列)? 问题答案: 好吧,由于无法按照我想要的方式执行此操作,因此我使用了隐式行ID,该ID与我显式定义的rowId列的名称相同,因此现在可以使用问题中使用的查询了。 ,它将使用新的rowI

  • 问题内容: 我有以下SQLite代码。如何在每行中插入自动生成的唯一ID? 问题答案: 您可以将其定义为自动递增列: 正如MichaelDorner指出的那样,SQLite文档说an可以做同样的事情,并且速度稍快。该类型的列是其别名,其行为类似于自动增量列。 此行为是隐式的,可能会使经验不足的SQLite开发人员措手不及。

  • 问题内容: MySQL有这样的东西: 据我所知,SQLite中不存在此功能,我想知道的是,是否有任何方法可以实现相同的效果而不必执行两个查询。另外,如果这不可能,那么您更喜欢什么: SELECT +(插入或更新) 或 UPDATE( 如果UPDATE失败,则 + INSERT ) 问题答案: 因为3.24.0 SQLite还支持upsert ,所以现在您可以简单地编写以下内容

  • 问题内容: 我正在尝试在SQLite(最新版本)表中插入多行,但抛出错误 从这里得到的想法,这是我的SQL查询: 但它抛出 这是我的表结构 我的查询有问题吗? 任何帮助,将不胜感激。 TIA 问题答案: 由于提到了最新版本的SQLite,因此应使用多值插入(自3.7.11版以来受SQLite支持),如下所示: 这是更短,更快,更不容易出错的方法。其他一些数据库(至少MySQL和PostgreSQL

  • 问题内容: 由于MySQL不支持IF EXISTS,因此我很难考虑在MySQL中执行以下伪指令的语法: 我本以为CASE会适合这种情况,但是对我而言,我无法想到正确的语法。我会使用唯一索引,但是每一列都需要允许重复,这只是所有列的匹配组合,它们必须是唯一的,而不是字段本身。 有人告诉我在所有列上使用复合键可以避免重复的插入,但是从我收集的数据来看,我需要再使用一个不同的插入。 简短版:在MySQL

  • 我试图在我的表中插入一条新记录 DSLContext类型中的方法newRecord(Table, Object)不适用于参数(String, ModelBook) 但是和这个一样:http://www.jooq.org/doc/2.5/manual/sql-execution/fetching/pojos/ 所以我不能做: