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

SQL不插入重复项

鲜于玮
2023-03-14

我一直在寻找一个解决方案,以最好地实现一个不插入,如果行已经存在。我读过很多不同的答案,我觉得有点超出我的水平。

例如,下面的文章是最大的结果:SQL Server Insert如果不存在,但我不明白为什么要使用这些变量,以及如何定义table1和Table2。有人能进一步解释一下吗,这样我就可以把它应用到我的情况中了?

共有1个答案

王楚青
2023-03-14

使用not exists的另一种方法是使用except关键字在两个结果集中的数据之间进行“差异”,这两个结果集中分别选自表1表2

INSERT INTO table2 (Date, Number1, Number2, Text1, Text2) values 
SELECT A.Date, A.Number1, A.Number2, A.Text1, A.Text2 
FROM Table1 A
EXCEPT
SELECT B.Date, B.Number1, B.Number2, B.Text1, B.Text2 
FROM Table2 B;
 类似资料:
  • 我有一个问题,这个代码没有插入到数据库中的值。。。 我想不出来。。。我已经确保这些值是从HTML表单页面传递过来的。我已经能够让删除页面正常工作了。“mysqli_查询(insert-into)”只是没有将值插入数据库。

  • 问题内容: 我只想在SQL Server数据库中插入一些条目。但是我需要在插入之前进行检查。关键是该表包括两列和。如果条目与SQL Server数据库中的条目完全相同,则所提供的代码应检查这两列,并防止插入该条目。 这意味着数据表的两列与将要插入的两个条目相同。我检查了论坛,但找不到适合我项目的任何有用的解决方案。 问题答案: 本质上,您可以先使用以下命令检查特定行的存在: (这也使用了参数,而不

  • 我只是想插入一些条目到SQL服务器数据库。但是我需要在插入之前检查一下。关键点在于,该表包含两列和。如果条目与SQL服务器数据库中的条目完全相同,则显示的代码应检查这两列,并防止插入该条目。 这意味着数据表的两列与将要插入的两个条目相同。我检查了论坛,但找不到任何有用的解决方案,我的项目。

  • 因此,我一直在做一些研究,我需要编写一个语句,将唯一的客户端名称插入到服务器上的表中。然而,数据库的默认标准中已经有数千个客户端,在插入新客户端时,我们需要在尝试将其添加到系统之前检查它们是否已经存在。 我的问题是,最好/最快的方法是什么?在clients表上运行一个简单的select查询(按ASC排序),并对结果进行二进制搜索或其他操作,或者只执行类似于下面的SQL查询,会更好吗? 这是一个缓慢

  • 我定义了2个具有单向一对多关系的实体: 在command.class中: 在StockDetails.class中: null