SQL查询-插入,但仅当记录不存在时才插入?

瑞安

因此,正如您所做的那样,我正在编写一个SQL查询,并且偶然发现了一个问题。我想做的是每当一个唯一用户访问某个页面时,就在数据库中触发一个查询。唯一性是通过session_id()完成的,因为那通常是非常可靠的。

我想要的是一个SQL查询,该查询将一行数据插入两列中,但是仅在这两列尚未具有相同值的情况下。

如果用户x访问名为的页面page1,则在数据库中,它将记录如下所示:

+------------+---------+
| page_name  | user_id |
+------------+---------+
|    page1   |    x    |
+------------+---------+

我将如何编写查询以检查表以查看所插入的数据是否重复?

我当前的查询如下(它只是一个标准的插入查询):

INSERT INTO `page_views` (`page_name`, `user_id`) VALUES ('.$pageName.', \''.session_id().'\')
Jitendra Kumar。巴拉

使用INSERT IGNORE而不是INSERT。如果一条记录与现有记录不重复,MySQL照常插入它。如果记录是重复的,则IGNORE关键字告诉MySQL静默丢弃它,而不会产生错误。

以下示例不会出错,并且不会插入重复的记录。

语法很简单-只需在“ INSERT”之后添加“ IGNORE”即可,如下所示:

INSERT IGNORE INTO mytable
    (pk, f1, f2)
VALUES
    ('abc', 1, 2);

插入多个记录一次插入多个记录时,不会插入的记录将不会,但可以插入的记录将是:

INSERT IGNORE INTO mytable
    (pK, f1, f2)
VALUES
    ('abc', 1, 2),
    ('def', 3, 4),
    ('ghi', 5, 6);

在上面的第二个示例中,如果已经存在“ abc”和“ def”的记录,则不会插入这两个记录,但是会插入“ ghi”的记录。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

SQL查询-插入,但仅当记录不存在时才插入?

来自分类Dev

仅当 oracle sql 中不存在值时才插入

来自分类Dev

仅当记录不存在时才插入表

来自分类Dev

如果记录不存在,则在SQL中插入记录

来自分类Dev

SQL-仅当B不存在时才选择A

来自分类Dev

SQL Server:尝试在记录不存在时插入零计数

来自分类Dev

如果PHP不存在则插入SQL记录

来自分类Dev

不存在时的SQL插入其中数据集来自选择查询

来自分类Dev

PostgreSQL中的“ IF EXISTS”-创建查询以更新记录(如果存在)并插入(如果不存在)

来自分类Dev

SQL插入如果行不存在

来自分类Dev

插入不存在的SQL访问权限

来自分类Dev

SQL插入如果行不存在

来自分类Dev

SQL连接并插入(如果不存在)

来自分类Dev

SQL Update,如果不存在,则插入

来自分类Dev

SQL选择并插入(如果不存在)

来自分类Dev

不存在记录的SQL查询

来自分类Dev

SQL Server存储过程-检查是否存在任何记录,如果不存在,则插入

来自分类Dev

仅当列中不存在值时才尝试执行SQL命令

来自分类Dev

仅当表中不存在该值时才更新SQL列

来自分类Dev

不存在时的SQL查询

来自分类Dev

H2 SQL数据库-如果记录不存在,则插入

来自分类Dev

MS Access SQL插入表中不存在记录的表

来自分类Dev

如果表中不存在记录,则使用 not exists in sql 插入

来自分类Dev

SQL 插入所有维度的每个值不存在的记录

来自分类Dev

使用 C#、EF 和 SQL Server 从 Excel 文件中仅插入不存在的行

来自分类Dev

MySQL-“如果不存在,请插入”查询?

来自分类Dev

MySQL - 如果不存在,则使用子查询插入

来自分类Dev

SQL查询:从2个表中插入(如果尚不存在)

来自分类Dev

仅当不存在记录时,才通过存储过程从TVP列表中插入项目-性能降低

Related 相关文章

  1. 1

    SQL查询-插入,但仅当记录不存在时才插入?

  2. 2

    仅当 oracle sql 中不存在值时才插入

  3. 3

    仅当记录不存在时才插入表

  4. 4

    如果记录不存在,则在SQL中插入记录

  5. 5

    SQL-仅当B不存在时才选择A

  6. 6

    SQL Server:尝试在记录不存在时插入零计数

  7. 7

    如果PHP不存在则插入SQL记录

  8. 8

    不存在时的SQL插入其中数据集来自选择查询

  9. 9

    PostgreSQL中的“ IF EXISTS”-创建查询以更新记录(如果存在)并插入(如果不存在)

  10. 10

    SQL插入如果行不存在

  11. 11

    插入不存在的SQL访问权限

  12. 12

    SQL插入如果行不存在

  13. 13

    SQL连接并插入(如果不存在)

  14. 14

    SQL Update,如果不存在,则插入

  15. 15

    SQL选择并插入(如果不存在)

  16. 16

    不存在记录的SQL查询

  17. 17

    SQL Server存储过程-检查是否存在任何记录,如果不存在,则插入

  18. 18

    仅当列中不存在值时才尝试执行SQL命令

  19. 19

    仅当表中不存在该值时才更新SQL列

  20. 20

    不存在时的SQL查询

  21. 21

    H2 SQL数据库-如果记录不存在,则插入

  22. 22

    MS Access SQL插入表中不存在记录的表

  23. 23

    如果表中不存在记录,则使用 not exists in sql 插入

  24. 24

    SQL 插入所有维度的每个值不存在的记录

  25. 25

    使用 C#、EF 和 SQL Server 从 Excel 文件中仅插入不存在的行

  26. 26

    MySQL-“如果不存在,请插入”查询?

  27. 27

    MySQL - 如果不存在,则使用子查询插入

  28. 28

    SQL查询:从2个表中插入(如果尚不存在)

  29. 29

    仅当不存在记录时,才通过存储过程从TVP列表中插入项目-性能降低

热门标签

归档