如何设置带有DateTime列的MySql模式,使其值始终为最后一次插入/更新此行的时间?使用Now()作为默认的MySql日期时间类型
0
A
回答
1
您可以用触发器做:
DELIMITER $$
CREATE TRIGGER `before_update` BEFORE UPDATE ON `table_name` FOR EACH ROW BEGIN
SET NEW.update_date = NOW();
END;
$$
CREATE TRIGGER `before_insert` BEFORE INSERT ON `table_name` FOR EACH ROW BEGIN
SET NEW.update_date = NOW();
END;
$$
DELIMITER ;
8
你可以时间戳来代替,并设置ON UPDATE CURRENT_TIMESTAMP NOT NULL,例如:
CREATE TABLE example (
lastUpdate TIMESTAMP ON UPDATE CURRENT_TIMESTAMP NOT NULL
);
2
像ANAX表示,采用TIMESTAMP
代替DATETIME
会给你一个使用当前时间的列,而不是等待提供的日期/时间。
你有很多的options with TIMESTAMP
,这两个是最重要的有:
- 有使用它时,该行创建当前时间(
NOW()
) - 有修改它的列中当前行的修改时间。
如果不设置任何选项,就像这样:
CREATE TABLE stuff (ts TIMESTAMP);
它将把在当前时间创建和变化上修改该列。
所以,如果你想有一个列在创建时,只显示,你可以使用:
CREATE TABLE stuff (ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP);
既然你没有指定ON UPDATE
条款,如果该行被更新,它不会做任何事情。
如果你是疯了,像我一样,你会希望同时,与去:
CREATE TABLE stuff (create_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
mod_date TIMESTAMP
);
,因为我还没有写这一点,然而,这最后一个是相当于写出:
CREATE TABLE stuff (create_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
mod_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP
ON UPDATE CURRENT_TIMESTAMP
);
+0
第二个最后的声明真的帮助我。非常感谢你。 – twnaing 2013-01-18 19:16:10
4
Anax已经接近,但错过了默认值。
CREATE TABLE example (
lastUpdate TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP NOT NULL
)
相关问题
- 1. MySQL的查询日期时间默认
- 2. 类型日期默认SYSDATE在MySQL
- 3. MySQL的日期VS日期时间默认值
- 4. 在MySQL/PHP中使用now()插入当前日期/时间
- 5. MVC Razor - 作为文本框类型日期的当前日期的默认值
- 6. 如何使用xslt将默认的mysql modtimes转换为UTC日期时间
- 7. 只为新行添加默认为NOW()的时间戳列
- 8. MySQL - 删除日期时间字段的默认值
- 9. WPF默认日期时间格式
- 10. 如何将默认日期时间设置为mysql中的系统日期时间
- 11. java中的日期时间和休眠时的默认日期时间映射
- 12. NOW()不更新日期时间?
- 13. 如何使用索引mysql日期时间类型?
- 14. MySQL日期时间操作
- 15. 日期时间类型SQL
- 16. 转换日期时间格式MySQL默认格式
- 17. 设置今天的日期作为模型中的默认值
- 18. 将访问日期时间类型到MySQL类型
- 19. MySQL选择行日期和时间> NOW
- 20. 为什么keen.io对象时间轴默认日期为一天?
- 21. 在mysql数据库中使用默认值分隔存储时间和日期
- 22. jQuery的日期选择器UI首次启用日期作为默认日期
- 23. 如何将java日期类型存储为mysql日期类型?
- 24. 在mysql中将数据类型从日期更改为日期/时间?
- 25. 使用当前日期作为列的默认值
- 26. 使用jquery.datetimepicker设置默认日期和时间
- 27. 默认在Django模型中输入当地时间的当前日期时间
- 28. 查询'Now'的日期时间列减去一定的时间?
- 29. 设置日期默认离子日期时间离子v-2
- 30. kendo日期时间选择器中的默认时间
差不多,看我的其他答案。 – ripper234 2009-09-30 15:35:41
我已经做了,并投票给你。我也试着留下'Well spotted'的评论,但是它没有超过所需的最少15个字符。 – Anax 2009-09-30 15:58:20
我讨厌15个字符的规则。 – ripper234 2009-09-30 15:59:48