Msql的日期类型中,datetime和timestamp精确度较高,但前者无法设置默认值,后者随任何字段的更改而更改.
这样如果想记录一个记录添加的时间时,都得通过SQL语句添加,不太方便.
timestamp虽然方便了记录最后更新时间,但仍有不方便之处,比如一篇文章,要记录发布时间和最后更新时间,同时这篇文章要统计点击数.这时用timestamp类型的话,每次访问都会更新这个数据.看来timestamp类型只适合于日志之类的场合了.我真不明白为什么不能给datetime一个默认值now()呢?这样不是方便很多呀

解决方案 »

  1.   

    mysql的日期类型我推荐还是使用bigint类型,首先是精确度没有问题,然后是统计是很方便;程序操作也不存在障碍;
      

  2.   

    我是想偷个懒,给记录添加的时间赋个默认值,但mysql却不让我偷懒
      

  3.   

    还有就是我们学校的服务器还在用4.0.26的mysql,整的我特郁闷.
    不支持子查询,没办法我写了个函数返回子查询集合,再组装成新的SQL语句,效率真他娘的低function SB_MYSQL_GET_ASSSEMBLY($sql,$type=0)
    {
       $subQuery='(';
       $re=mysql_query($sql);
       if(@mysql_num_rows($re)<=0)
            return '(null)';
       if($type==0)
       {
          while($row=mysql_fetch_array($re))
             $subQuery.=$row[0].',';
       }
       else
       {
          while($row=mysql_fetch_array($re))
             $subQuery.=.'\''.$row[0].'\',';
       }
       return substr($subQuery,0,strlen($subQuery)-1).')';
    }
      

  4.   

    1.这不是datetime的缺陷,而是mysql的缺陷,它还不支持有表达式的默认值设置(常数默认值可以)。