📅  最后修改于: 2023-12-03 15:35:06.148000             🧑  作者: Mango
当涉及到在SQL数据库中查找谁修改了特定数据时,我们可以使用以下SQL查询语句。
SELECT username, action_description, timestamp
FROM audit_log
WHERE table_name = 'your_table_name' AND row_id = 'your_row_id' AND action_description LIKE '%UPDATE%'
ORDER BY timestamp DESC;
此查询将从名为"audit_log"的表中检索“UPDATE”操作的所有执行记录。除了操作描述外,还会返回执行操作的用户名和时间戳。
请将以下信息替换为特定的查询条件:
请注意,此查询需要预先创建一个名为“audit_log”的表,以记录执行的操作。表的结构类似于以下示例:
CREATE TABLE audit_log (
id SERIAL PRIMARY KEY,
table_name VARCHAR(255),
row_id INT,
action_description VARCHAR(255),
username VARCHAR(255),
timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
此查询将返回一个按时间戳降序排序的结果集。结果将返回为Markdown格式,如下所示:
| username | action_description | timestamp | |----------|-------------------|-----------| | john | UPDATE | 2022-04-20 10:25:45 | | mary | UPDATE | 2022-04-19 15:30:11 |
通过此查询,您可以轻松了解特定数据的修改历史记录,以及对数据进行修改的人员。