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

how to display the which was inserted recently in to table

本文关键字:插入 最近 何显示 显示      更新时间:2023-09-26

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

其实要做的是什么?

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

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

您将使用$mysqli->insert_id来检索上次查询自动生成并使用的id。在这里查看。

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

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

首先,对于客户端,检查服务器发送的事件。其次,您需要一种机制来检查服务器端上的最新更新数据

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

这是的例子

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

insert_id有一些限制,我不确定插入和删除会有什么不同。我要做的是在需要跟踪插入的每个表中的插入触发器上(可能你想在更新和删除时跟踪)

触发器.

您可能需要一个单独的表-historical_data_tab,它保存由您想要跟踪的任何事件触发的所有历史数据。

对于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

关注新事物。ID和NOW()。如果您不需要原始PK,只需插入NULL来代替新PK即可。ID和任何Auto Increment PK将负责其余部分。NOW将用事件触发时间的时间戳填充historical_data_tab表。INSERT应该告诉您它是什么类型的事件。

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

有很多方法可以满足你的需要。不要疯狂地使用触发器,并尝试在前端本身捕获前端事件

从您的表中选择*,其中ID=最大(ID)