是否可以让一个时间戳列在更新一列时更新?

Ale*_*dra 0 mysql ruby-on-rails

有一个问题,就是有可能有被更新timestamp列,只是当一列被更新(只列)?

非常感谢提前!

egg*_*yal 5

你可以使用一个触发器:

DELIMITER ;;

CREATE TRIGGER foo BEFORE UPDATE ON my_table FOR EACH ROW
  IF        NEW.colA <=> OLD.colA  -- has not been updated
    AND     NEW.colB <=> OLD.colB  -- has not been updated
    AND NOT NEW.colC <=> OLD.colC  -- has been updated
    -- etc.
  THEN
    SET NEW.colD = NOW();  -- update timestamp
  END IF
;;

DELIMITER ;
Run Code Online (Sandbox Code Playgroud)

请注意,您的TIMESTAMP列未启用自动更新.