更新列更新的时间戳,用于多列

时间:2013-12-02 18:24:59

标签: mysql

以下是可能的:

table: (column1, column1_date, column2, column2_date)

我可以为列column1_datecolumn2_date创建时间戳变量,因此当我更新column1时,column1_date上的时间戳会更新,当我更新column2时1}} column2_date上的时间戳已更新?

1 个答案:

答案 0 :(得分:1)

您可以使用trigger

执行此操作

这是一个例子。如果column1和/或column2允许NULL值,则您需要更改IF语句以正确处理NULL。

DELIMITER $$

DROP TRIGGER IF EXISTS tr_b_upd_your_table $$

CREATE TRIGGER tr_b_upd_your_table BEFORE UPDATE ON your_table FOR EACH ROW BEGIN
  IF (old.column1 != new.column1)
  THEN
    SET new.column1_date = NOW();
  END IF;

  IF (old.column2 != new.column2)
  THEN
    SET new.column2_date = NOW();
  END IF;

END $$

DELIMITER ;
相关问题