我有一个服务,它从mysql表中查询记录,然后将其推送到另一个数据库。这种推动会定期发生。我的问题是我需要确定发送到新数据库的最后一条记录是什么,所以当我再次调用我的服务时,我可以发送剩余的记录。
如果表有时间戳列,那么这很容易,但它没有,我无权更改原始表。那么有没有办法通过MySQL自己给出的ID来识别行,这样我就可以在该行位置之后发送剩余的行。如果我可以识别发送的最后一行,我可以将其存储在表中,然后从该点开始查询。
CREATE TABLE alarm_ctxs
( id_alarm binary(16) NOT NULL,
id_ctx binary(16) NOT NULL,
PRIMARY KEY (id_alarm,id_ctx)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
答案 0 :(得分:-1)
如果您使用的是PHP,则可以使用mysql_insert_id()来检索上一次插入的ID,您还需要在此表中创建一个主键自动增量。例如:
mysql_query("INSERT INTO `table`......);
$the_id = mysql_insert_id();
MySql也有这样的东西,看看http://dev.mysql.com/doc/refman/5.7/en/information-functions.html#function_last-insert-id