在mysql中时间取值函数主要有两类:一个是now(),另一个是sysdate();
now取之与语句执行的时间,而sysdate执行的动态获取的时间。
非常常见的是我们在使用更新语句进行时间戳更新时,会使用2中方式,一种将时间类型字段默认为时间戳。
一种就是手动更新。
将字段设置为时间戳的方式如下:
如果是日期字符串类型就是 time datetime NOT NULL DEFAULT NOW(),
如果是时间戳~ time int NOT NULL DEFAULT CURRENT_TIMESTAMP(),
引用:因为NOW()取自mysql的一个变量”TIMESTAMP”,而这个变量在语句开始执行的时候就设定好了,因此在整个语句执行过程中都不会变化。
执行下面这个例子就明白了:
SELECT NOW(),SYSDATE(),SLEEP(3),NOW(),SYSDATE()
先查询了NOW()和SYSDATE(),然后sleep了3秒,再查询NOW()和SYSDATE(),结果如下:
NOW()还有3个同义词,效果跟NOW()一样,而且都有2种形式写法:
LOCALTIME或LOCALTIME()
LOCALTIMESTAMP或LOCALTIMESTAMP()
CURRENT_TIMESTAMP或CURRENT_TIMESTAMP()