📜  Sql 搜索谁修改 - SQL (1)

📅  最后修改于: 2023-12-03 15:35:06.148000             🧑  作者: Mango

SQL搜索谁修改 - SQL

当涉及到在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”操作的所有执行记录。除了操作描述外,还会返回执行操作的用户名和时间戳。

请将以下信息替换为特定的查询条件:

  • "your_table_name"——需要查询的表名称。
  • "your_row_id"——需要查询的行的ID。

请注意,此查询需要预先创建一个名为“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 |

通过此查询,您可以轻松了解特定数据的修改历史记录,以及对数据进行修改的人员。