选择Mysql之前尚未查询的记录

问题描述 投票:-1回答:2

如何只检索以前未查询过的记录?

例如:

如果我的表中有3条记录:

  • 记录1
  • 记录2
  • 记录3

我做了一个类似的查询

`SELECT * FROM TABLE` 

我将获得上述三项记录。如果我再插入三个记录并再次进行查询,我只想看看:

  • 记录4
  • 记录5
  • 记录6

有没有办法让这成为可能?

谢谢!

mysql database select
2个回答
3
投票

一种可靠的方法是在表中添加某种标志,指示行之前是否已“读取”,并按如下方式查询:

START TRANSACTION;

SELECT * FROM my_table WHERE read_flag = 0 FOR UPDATE;

UPDATE my_table SET read_flag = 1 WHERE id = my_table.id;

COMMIT;

请注意,这需要InnoDB引擎。


0
投票

你使用哪种编程语言?

您可以保存“Record3”的ID,然后查询:

select * from table where id > (id_from_record_3)
© www.soinside.com 2019 - 2024. All rights reserved.