0

我有一个关于 mysql 表和用户的问题。我需要知道哪个用户修改了一个表。我有 2 张桌子。

   1. user (id,username, password and dtime)
   2. author (surname,firstname,email,phone, LastModified, userID)

LastModified 是在进行更新时写入时间戳的字段。我希望能够写出当前用户的用户 ID,这样我就可以知道进行更新的用户。用户 ID 是表“作者”中的外键。

任何人都有想法我该怎么做?

4

1 回答 1

1

这不是 MySQL 可以做的事情,除非您的用户也有他们正在使用的 mysql 帐户。您将不得不修改您的客户端代码以包含代码代表其运行查询的用户的 ID,例如

UPDATE author Set surname='Foo', LastModified=now(), userID=$userID
                                                   ^^^^^^^^^^^^^^^^

MySQL 完全不知道您的客户端代码中发生了什么,因此由您来提供这些细节。

如果您确实有每个用户的 MySQL 帐户,那么它就像

UPDATE author Set surname='Foo', LastModified=now(), userID=USER()
                                                   ^^^^^^^^^^^^^^^

但是为用户提供直接的数据库登录几乎总是一个非常糟糕的主意。

于 2013-05-29T21:55:36.943 回答