更新mysql数据库中datetime类型的字段:
创新互联致力于互联网品牌建设与网络营销,包括网站设计制作、做网站、SEO优化、网络推广、整站优化营销策划推广、电子商务、移动互联网营销等。创新互联为不同类型的客户提供良好的互联网应用定制及解决方案,创新互联核心团队10年专注互联网开发,积累了丰富的网站经验,为广大企业客户提供一站式企业网站建设服务,在网站建设行业内树立了良好口碑。
举例如下:
UPDATE calldata
SET date = DATE_SUB(date, INTERVAL 7 DAY)
WHERE date = '2014-01-08'
AND date '2014-01-09
这个sql语句中,date 是datetime类型的
因为sitime是日期的字符串格式,sql语句sjtime的值$sjtime要加单引号才不会解析错误:
$db-query("update main set sjtime=‘".$sjtime."’ where id=".$userid);
这样就可以了。
--方法一:由于MySQL目前字段的默认值不支持函数,所以以create_timedatetimedefaultnow()的形式设置默认值是不可能的。代替的方案是使用TIMESTAMP类型代替DATETIME类型。TIMESTAMP列类型自动地用当前的日期和时间标记INSERT或UPDATE的操作。如果有多个TIMESTAMP列,只有第一个自动更新。自动更新第一个TIMESTAMP列在下列任何条件下发生:1.列值没有明确地在一个INSERT或LOADDATAINFILE语句中指定。2.列值没有明确地在一个UPDATE语句中指定且另外一些的列改变值。(注意一个UPDATE设置一个列为它已经有的值,这将不引起TIMESTAMP列被更新,因为如果你设置一个列为它当前的值,MySQL为了效率而忽略更改。)3.你明确地设定TIMESTAMP列为NULL.4.除第一个以外的TIMESTAMP列也可以设置到当前的日期和时间,只要将列设为NULL,或NOW()。所以把日期类型选择成timestamp允许空就可以了CREATETABLEtest(unamevarchar(50)NOTNULL,updatetimetimestampNULLDEFAULTCURRENT_TIMESTAMPONUPDATECURRENT_TIMESTAMP)ENGINE=InnoDBDEFAULTCHARSET=utf8;如果要在navicat下操作的话,将字段设置为timestamp,然后默认值写上CURRENT_TIMESTAMP即可
DATE_ADD() 函数向日期添加指定的时间间隔。
DATE_SUB() 函数向日期减少指定的时间间隔。
DATE_ADD(date,INTERVAL expr type)
DATE_SUB(date,INTERVAL expr type)
date 参数是合法的日期表达式。
expr 参数是您希望添加的时间间隔。
type 参数可以是下列值:
例:更新某个时间,每个时间加上一个星期
例子:更新某个时间,使每个时间减少一个月
update borrow set Returntime1='2012-11-18 15:41:18' , breturn='已' where ID= 1;
同时更新多个字段内容是用,号分开,不是用and连接!