MySQL用户活动日志

时间:2019-03-07 10:44:34

标签: mysql database database-design

我要在我的应用程序中记录用户活动。我想追踪特定记录的处理方式。假设我有三个带有 clients events 以及** users *的表,用户可以在这些表上进行基本的CRUD操作。这时候我的想法是创建像这样的表

+----+---------+---------------------+------------+----------+
| id | user_id |     description     | child_type | child_id |
+----+---------+---------------------+------------+----------+
|  1 |      12 | User deleted record | clients    |      731 |
|  2 |       4 | User updated record | events     |      980 |
|  3 |       4 | User deleted record | events     |      980 |
+----+---------+---------------------+------------+----------+
  • 当然是时间戳记。

我只想在用户或Ajax的请求下,在“客户端”或“事件”视图中查看这些信息。

SELECT 
    *
FROM
    user_activity T1
        INNER JOIN
    user T2 ON T1.user_id = T2.id
WHERE
    T1.child_type={{ child_type }} AND T1.child_id={{ id_of_current_chosen_{{child_type}} }}

从“客户端/事件”视图查询看起来很简单,但是当我要检查哪些特定用户更改了以及在哪里更改时,该怎么办?

我想获得类似的信息

已删除客户John Doe于2019-03-03 12:51 更新的活动Music Festiwal于2019-03-03 08:37

SELECT 
    *
FROM
    user_activity T1
        INNER JOIN
    **??????**
WHERE
    T1.user_id={{user_id}}

如何访问“客户端/事件”表中的数据?当 Child_type 列是表的全名时,我可以以某种方式通过单个查询实现吗?

0 个答案:

没有答案