Mysql的日期时间类型
Orcle的当前时间是sysdate,譬如建表时可以default sysdate.
但是我在网络上查了一下,说Mysql实现‘建表时插入当前时间’这一功能比较困难。
一般的做法是:建表,然后在业务层“update 表名 set 日期列=now() [where ...]”。
另外,mysql的timestamp与datetime比较:
1. timestamp可以实现最近时间更新,更新数据时也会更新时间,在一些条件下,具体相见下面转述的内容;存储需要4bytes;允许你使用字符串或数字把值赋给DATETIME的列。
2. datetime:存储需要8bytes;允许你使用字符串或数字把值赋给DATETIME的列。
另外,表示当前时间的有now(),current_date,current_time。
NOW() 以`'YYYY-MM-DD HH:MM:SS'返回当前的日期时间,可以直接存到DATETIME字段中。
CURDATE() 以’YYYY-MM-DD’的格式返回今天的日期,可以直接存到DATE字段中。 CURTIME() 以’HH:MM:SS’的格式返回当前的时间,可以直接存到TIME字段中。 例:insert into tablename (fieldname) values (now())。
另外,试试select now(); select current_data;/select current_data();/select curdate(); select current_time;/select current_time();/select curtime();
但是以上表示当前时间的字段或函数不能写在建表时的default语句中,只能用在insert和update语句中。
--------------------------------------
以下内容转自:http://www.wendangwang.com/Program/Mysql/110142Z62008.html
MySQL目前不支持列的Default 为函数的形式, 『why? create table test2(id int(3) default
1) is successful』
如达到你某列的默认值为当前更新日期与时间的功能,
你可以使用TIMESTAMP列类型
下面就详细说明TIMESTAMP列类型 TIMESTAMP列类型 TIMESTAMP值可以从1970的某时的开始一直到2037年,精度为一秒,其值作为数字