知道mysql表中最后修改的行或id行

时间:2016-08-04 19:49:16

标签: php mysql mariadb

我使用的是Mysql 5.5,例如我有一个像这样的表

Pointer[] ptrs = stdevs.getValue().getPointerArray(0, size.intValue());
DevStruct[] array = new DevStruct[size.intValue()];
for (int i=0;i < array.length;i++) {
    array[i] = new DevStruct(ptrs[i]);
}

public class DevStruct extends Structure {
    public DevStruct(Pointer p) {
        super(p);
        read();
    }
}

允许某些人进行插入,更新和删除但我想知道在给定时间内哪个是最后修改的行或行的id

有什么想法吗?

提前致谢

2 个答案:

答案 0 :(得分:0)

我的建议是创建第二张表。用于记录修改的edit_history之类的东西。您可以在groups表上方放置触发器,上面写着“无论何时插入,删除或更新记录,都要在我的edit_history表格中创建记录”。

可以按如下方式创建触发器:

CREATE TRIGGER trigger_name
AFTER INSERT
   ON table_name FOR EACH ROW

BEGIN

   -- For each row inserted
   -- do something...

END;

答案 1 :(得分:-1)

由于您的字段为auto_increment,因此您只需选择idgroups的最大值即可获取最近插入的值:

select max(idgroups) from tbl

要获得最后一次修改,将需要额外的结构到您的表。特别是,如果要删除,则需要存储最近删除的内容。