I have one table in mySql like this
CREATE TABLE `usermst` (
`userid` smallint(5) unsigned NOT NULL,
`username` varchar(45) NOT NULL,
`insdate` timestamp(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
having data as follows
insert into usermst(userid, username)
values (1, "user 1"),
(2, "user 2"),
(3, "user 3"),
(4, "user 4"),
(5, "user 5"),
(6, "user 6"),
(7, "user 7"),
(8, "user 8"),
(9, "user 9"),
(10, "user 10");
If I query for 1st page with 4 records (pagination), its work fine.
select * from usermst order by insdate desc, userid desc limit 0,4;
output:
userid username insdate
10 user 10 2016-03-08 12:32:04.239335
9 user 9 2016-03-08 12:32:04.239335
8 user 8 2016-03-08 12:32:04.239335
7 user 7 2016-03-08 12:32:04.239335
request for 2nd page with following query
select * from usermst order by insdate desc, userid desc limit 4,4;
output:
userid username insdate
6 user 6 2016-03-08 12:32:04.239335
5 user 5 2016-03-08 12:32:04.239335
4 user 4 2016-03-08 12:32:04.239335
3 user 3 2016-03-08 12:32:04.239335
But, If somehow records deleted for page1, data will be missed for client. or records inserted in page1 (ordering as per my query), duplicate data will be fetch on client. How to prevent this bug?