在MySQL中使用审计跟踪,如何在特定时间范围内找到具有特定值的记录?
我想说我想在一周前获得网站管理员用户的ID(role_id = 1)。
鉴于表格:
**USER**
id | role_id | ...
修订表:
**TABLE_HISTORY**
table_name | date | id | column_name | column_value
(假设我在那里存储创建数据的好坏或我软删除)
如何在一周前找到role_id = 1的人仅使用一个查询?请记住,他们的角色可能已经改为2,这意味着您无法选择role_id = 1
的位置这样的事可能吗?:
SELECT * FROM
(
SELECT *
WHERE (date < $timestamp AND column_name = 'role_id')
LIMIT 1
)
WHERE ('is_admin'=1)