如何创建default value是NOW的column?
-
SQL code
CREATE TABLE `settings` ( `id` int(11) NOT NULL AUTO_INCREMENT, `k` varchar(200) NOT NULL, `v` varchar(2000) DEFAULT NULL, `time` datetime DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `k` (`k`) ) ;
问题:
1、我想把time的默认值设置为NOW(),但是mysql似乎只支持常量默认值。有什么办法吗?
2、我想create trigger,每次更新的时候自动更新time字段,该如何写呢?
探讨
1、我想把time的默认值设置为NOW(),但是mysql似乎只支持常量默认值。有什么办法吗?
2、我想create trigger,每次更新的时候自动更新time字段,该如何写呢?
CREATE TABLE `settings` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`k` varchar(200) NOT NULL,
`v` varchar(2000) DEFAULT NULL,
`time` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
PRIMARY KEY (`id`),
UNIQUE KEY `k` (`k`)
) ;
探讨
引用:
1、我想把time的默认值设置为NOW(),但是mysql似乎只支持常量默认值。有什么办法吗?
2、我想create trigger,每次更新的时候自动更新time字段,该如何写呢?
这是一个好问题。
iihero>>:
1. 有。使用timestamp类型,而不是datetime类型。如果你用的是datetime类型,可以将列类型改成……