mysql 日期默认系统时间 mysql 默认值不支持函数
2009-10-27 11:05
337 查看
由于MySQL目前字段的默认值不支持函数,所以以 create_time datetime default now() 的形式设置默认值是不可能的。 代替的方案是使用TIMESTAMP类型代替DATETIME类型。 TIMESTAMP列类型自动地用当前的日期和时间标记INSERT或UPDATE的操作。 如果有多个TIMESTAMP列,只有第一个自动更新。 自动更新第一个TIMESTAMP列在下列任何条件下发生: 1. 列值没有明确地在一个INSERT或LOAD DATA INFILE语句中指定。 2. 列值没有明确地在一个UPDATE语句中指定且另外一些的列改变值。(注意一个UPDATE设置一个列为它已经有的值,这将不引起TIMESTAMP列被更新,因为如果你设置一个列为它当前的值,MySQL为了效率而忽略更改。) 3. 你明确地设定TIMESTAMP列为NULL. 4. 除第一个以外的TIMESTAMP列也可以设置到当前的日期和时间,只要将列设为NULL,或NOW()。 另外在5.0以上版本中也可以使用trigger来实现此功能。 create table test_time ( id int(11), create_time datetime ); delimiter | create trigger default_datetime before insert on test_time for each row if new.create_time is null then set new.create_time = now(); end if;| delimiter ;
mysql中如何设置默认时间为当前时间? 把日期类型 选择成timestamp 允许空 就可以了 CREATE TABLE `dtal` ( `uname` varchar(50) NOT NULL, `udate` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP ) ENGINE=InnoDB DEFAULT CHARSET=utf8; 而如果要在navicat下操作的话,将字段设置为timestamp,然后默认值写上CURRENT_TIMESTAMP即可
相关文章推荐
- mysql 日期默认系统时间 mysql 默认值不支持函数
- MySQL 日期类型及默认设置 (除timestamp类型外,系统不支持其它时间类型字段设置默认值)
- Mysql日期时间类型(DATE,DATETIME,TIMESTAMP)和函数及与linux系统时间之间的转换(UNIX_TIMESTAMP、FROM_UNIXTIME)
- 获取服务器的系统日期,出错时采用客户机系统时间。本函数支持MS SQL Server 版本。
- Mysql日期和时间函数大全
- mysql 日期和时间函数
- MySQL中获取当前日期及当前时间的函数总结
- MySQL中默认值中用时间函数的问题
- 系统日期时间格式化与字符串替换函数
- Mysql日期和时间函数不求人
- MySQL时间日期查询相关函数与方法
- Mysql日期和时间函数不求人(zz)
- SQL Server返回当前实例系统日期和时间的函数
- MySQL日期和时间函数
- mysql取系统当前时间的函数
- MySQL 学习<四> MySQL函数简介(数学函数、字符串函数、日期和时间函数)
- js日期时间格式化函数 支持季度 24/12小时制 周 毫秒(Date扩展)
- 《MySQL入门很简单》学习笔记(13)之第13章MySQL函数(关键词:数学函数、字符串函数、日期和时间函数、条件判断函数、系统信息函数、加密函数、格式化函数、锁函数)
- VC++获取当前系统时间日期 GetSystemTime()函数的用法
- mysql的日期和时间函数大全第1/2页