[英]How do I retrieve the last inserted value in my database?
任何人都可以告诉我查询数据库列中最后插入的值。
问题是在使用ASC
或DESC
之后插入的值可以放在数据库的内部行中,所以我不能使用该方法。 如果有人有解决方案,请告诉我。
您需要使用TIMESTAMP
数据列以跟踪插入时间。 不幸的是,由于固有的竞争条件,在这种情况下使用自动递增主键不起作用。 只需将条目时间戳添加为数据列,然后使用ORDER BY time_stamp DESC LIMIT 1
进行检索以获取最后一条记录。 如果你感觉真的是防御性的,那么就要在WHERE
子句中包含原始INSERT
调用所特有的条件(即, WHERE ID = x AND KEY = y
)
我是第二个@Daniel Li的评论。
在我创建的每个持久表中,我有以下列:
(确切的语法因数据库而异。)
除了竞争条件之外,我可以通过“select * from table order by 1 desc”找到最后插入的行。
虽然这些占用了额外的空间,但我发现它们可以通过随着时间的推移解决问题而获得回报。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.