如何只检索以前未查询过的记录?
例如:
如果我的表中有3条记录:
我做了一个类似的查询
`SELECT * FROM TABLE`
我将获得上述三项记录。如果我再插入三个记录并再次进行查询,我只想看看:
有没有办法让这成为可能?
谢谢!
一种可靠的方法是在表中添加某种标志,指示行之前是否已“读取”,并按如下方式查询:
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引擎。
你使用哪种编程语言?
您可以保存“Record3”的ID,然后查询:
select * from table where id > (id_from_record_3)