MySQL - 如何获取表格{id}的rowid

时间:2016-11-23 01:04:35

标签: mysql sql select

我有一个服务,它从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;

1 个答案:

答案 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