テーブルに行を追加すると、自動的に "created_at"と "updated_at"の現在時刻が取得されます。だから私は更新クエリを使用するたびに私は手動で "created_at"と "updated_at"の間の時間差をSELECT TIME_TO_SEC(timediff(updated_at, created_at)) from abc
コマンドを使用して計算する "updated_at"の現在の時間を取得しています。MysqlはTimediffを更新します。
今、私はそれが自動的秒の時間差を算出することができ、テーブルを作成し、私は以下のようなものを試してみた何かtimediff ON UPDATE TIME_TO_SEC(timediff(updated_at, created_at))
を追加するなどの「timediff」と呼ばれる別の列にそれを書き込むことが可能ですが、疑問に思いますそれは動作しません。
CREATE TABLE abc (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
pieces INT(6),
created_at TIMESTAMP NOT NULL DEFAULT NOW(),
updated_at TIMESTAMP NOT NULL DEFAULT NOW() ON UPDATE NOW(),
timediff ON UPDATE TIME_TO_SEC(timediff(updated_at, created_at)) -- that's the issue
)
トリガーや複雑なものを混乱させたくないので、私はそれを整理する最も効率的で簡単な方法を探しています。 MySQLのマニュアルから
おかげ
トリガーの定義は必要ありません。 – LoremIpsum