0

mysql のテーブルとユーザーについて質問があります。テーブルを変更したユーザーを知る必要があります。私は2つのテーブルを持っています。

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

LastModified は、更新が行われたときのタイムスタンプを書き込むフィールドです。更新を行ったユーザーを知ることができるように、現在のユーザーのユーザー ID を書き込めるようにしたいと考えています。ユーザー ID は、テーブル 'author' の外部キーです。

どうすればこれを行うことができるか考えている人はいますか?

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 に答える