0

行が最後に変更された時間を追跡する関数またはクエリのようなものはありますか? ID にはタイムスタンプ列がなく、追加することもできません。特定の列があり、0 から 1 に、またはその逆に変更されている名前公開があり、最後に変更された時刻を確認したいと思います。

ここで joomla を操作し、プラグインが公開/非公開の時期を把握しようとしていますが、そのためのイベントはありません。私たちが持っているイベントは onExtensionBefore と save の後だけですが、公開状態を追跡するイベントはありません。

4

2 に答える 2

1

columnname更新 ごとに実行するトリガーを追加します。

DELIMITER |
CREATE TRIGGER `TriggerName` 
    AFTER UPDATE ON `TriggerTable` 
    FOR EACH ROW 
    BEGIN 
        IF NEW.columnname <> OLD.columnname THEN
            SET `timestampcolumn`=NOW();
        END IF 
    END
    |

その後、更新すると、現在の時刻にcolumnname更新されます。timestampcolumn

注:トリガーを定義するときは、区切り文字を で変更してください区切り文字は、定義内にないものにする必要がありデフォルトの区切り文字は定義が壊れる、デフォルトから変更する必要がありDELIMITER [delimiter]CREATE TRIGGER;;SET ´timestampcolumn´=NOW();TRIGGER

于 2012-10-23T18:41:17.720 に答える
0

onSave イベントの場合、公開/状態ステータスを含むデータ行全体を取得する必要があります。保存に関係する可能性のあるフィールドごとに特別なトリガーは必要ありません。状態が変更された場合に保存時に時間を取得する、問題のテーブルにキー付けされたテーブルを持つコンテンツ プラグインを作成します。

于 2012-10-24T12:09:15.690 に答える