如何显示最近插入到表中的内容

时间:2014-09-03 09:27:57

标签: javascript php sql

我在MySQL test_info中有一个表。此表在随机时间获取插入命令,以便添加新记录。这个插入物可以从任何地方发射。

其实要做的是什么?

前端应该以实时方式显示最近插入表中的数据。

请建议我如何解决这个问题

5 个答案:

答案 0 :(得分:1)

您可以使用$mysqli->insert_id来检索上次查询自动生成和使用的ID。请查看here

编辑:根据Thorsten Kettner的评论,您还可以使用SELECT LAST_INSERT_ID();,据我所知,这不是基于当前连接,而是全局引用。

您甚至可以使用SELECT MAX(ID)获取表格中的最后一个ID,如果设置为AUTO_INCREMENT,则最有可能是最新的。

答案 1 :(得分:0)

首先,对于您的客户端,请查看Server-Sent-Events。 其次,您需要一种机制来检查服务器端的最新更新数据

答案 2 :(得分:0)

您可以使用mysql查询来获取最后的记录。在我的示例中显示了如何获取最后10条记录。

这是示例

  

从表格顺序中选择*按日期DESC LIMIT 10

答案 3 :(得分:0)

insert_id有一些限制,我不确定你将如何区别于删除。 我要做的就是在每个表中需要跟踪插入的插入触发器上 (可能你想跟踪更新和删除)

triggers

您可能需要的是一个单独的表格 - historical_data_tab ,其中包含您要跟踪的任何事件触发的所有历史数据。

for mysql:

    USE `db_name`;
DELIMITER $$
CREATE DEFINER=`root`@`%` TRIGGER track_insert AFTER INSERT ON your_table 
FOR EACH ROW BEGIN 
        insert into historical_data_tab 
values (new.ID, 'INSERT',NOW());     

END

注意new.ID和NOW()。如果您不需要原始PK,只需插入NULL代替new.ID,任何自动增量PK将负责其余的工作。现在,将使用触发事件的时间戳填充 historical_data_tab 表。 INSERT应该告诉你它是什么类型的事件。

根据您使用的触发器进行更换。 您可能希望保留以下任何事件的数据* 删除后,插入,更新 要么 在删除,插入,更新之前

P.S。有很多方法可以满足您的需求。不要对触发器发疯,并尝试在前端捕捉前端事件

答案 4 :(得分:0)

从your_table中选择*,其中ID = Max(ID)