Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Sql表中查找上次修改的行或记录?_Sql_Sql Update_Foreign Keys_Key_Primary Key - Fatal编程技术网

如何在Sql表中查找上次修改的行或记录?

如何在Sql表中查找上次修改的行或记录?,sql,sql-update,foreign-keys,key,primary-key,Sql,Sql Update,Foreign Keys,Key,Primary Key,我有一张员工表,上面有他们的一般信息。如何从这个特定的表中查找上次修改的记录,而且我无法在此数据库中添加更多的列?如果有DateModified列或类似的列,并且需要最新的10行(例如),可以使用如下查询: SELECT Top 10 * FROM myTable ORDER BY DateModified DESC; 您没有指定SQL的风格,因此如果您使用Oracle、SQL Server或MS Access,查询可能会有所不同 如果您没有这样的列,并且您想知道最近添加的记录,如果主键是一个

我有一张员工表,上面有他们的一般信息。如何从这个特定的表中查找上次修改的记录,而且我无法在此数据库中添加更多的列?

如果有DateModified列或类似的列,并且需要最新的10行(例如),可以使用如下查询:

SELECT Top 10 * FROM myTable ORDER BY DateModified DESC;
您没有指定SQL的风格,因此如果您使用Oracle、SQL Server或MS Access,查询可能会有所不同


如果您没有这样的列,并且您想知道最近添加的记录,如果主键是一个自动递增的数字,那么您可以做同样的事情,但按主键降序排序。如果您确实想要修改(即更新)记录,并且没有DateModified列,那么您就不走运了。没有办法知道。

使用最大聚合函数:

SELECT MAX(Modifieddate)
FROM your_table
WHERE your_conditions.  
使用此代码:

SELECT * 
FROM Update_Table UT1
WHERE UT1.Modified_Date = (SELECT MAX(UT2.Modified_Date) 
FROM Update_Table UT2 
WHERE UT2.PK = UT1.PK
AND UT2.Last_User = user)

使用此代码获取上次更新的时间

select top 1 a.object_id, b.name, a.last_user_update from sys.dm_db_index_usage_stats as a, sys.objects as b where a.object_id=b.object_id and b.name = 'your_table_name' order by last_user_update desc

你不能!没有此类信息可用于记录。您的数据库管理系统是什么?“上次修改的记录”到底是什么意思?可能重复“我没有修改日期”列插入名为“修改日期”的新列是否有效