4

SQL/mysql を使用して、1 つの行の作成および更新時刻を直接取得することは可能ですか? 私はテーブルの最終更新を取得する方法を知っていますが、SQL でこれをネイティブにすばやく行う方法があるかどうか疑問に思っていました。

テーブルに2つのフィールド(created_dateとupdated_date)を自動的に作成する方法を作成しましたが、おそらくこれを行うより良い方法があるので、最初にあなたに尋ねることにしました。

提案を聞きます!手伝ってくれてありがとう。

4

1 に答える 1

1

テーブルに 2 つの余分な列を持たずにこれを行う方法はわかりませんが、それらを更新するために行うことは、アプリケーション ロジックではなく、データベース トリガーを使用することです。

トリガー アプローチの使用にはいくつかの利点がありますが、いくつかの欠点もあります。

まず、利点:

  • このように後付けとしてアプリに追加する方がはるかに簡単です。アプリケーション/サイト コードへの変更はほとんどありません。トリガーはそれをすべて処理します。(フィールド名を指定して新しい行を挿入すると仮定)
  • トリガーは、データを変更する他の方法を処理します。誰かがコンソールから行を変更すると、同じデータベースを使用する別のアプリケーションと同様にトリガーが起動します。
  • 純粋な行の挿入/更新テーブルを持つ可能性を許可します (私はしませんが) 。

しかし、いくつかの欠点もあります。

  • トリガーがこれらの更新を行っていることを知っていない限り、見過ごされることが多く、別のサーバーなどに移行するときにトリガーが忘れられる可能性があります。
于 2012-09-10T01:39:35.967 に答える