DROP TABLE  if EXISTS test; 
create table test
(
   a               int not null auto_increment,
   b               VARCHAR(50),
   c               int default DATEDIFF(CURDATE(),'2008-01-01') ,
   primary key (a)
);提示语法错误,可能是 default DATEDIFF(CURDATE(),'2008-01-01') 导致的,请问要达到这种效果,改语句应该怎么写,谢谢!

解决方案 »

  1.   

    int default DATEDIFF(cast(CURDATE() as varchar),'2008-01-01')
    把CURDATE()转成字符串试试
      

  2.   

    mysql默认值不能有函数
      

  3.   

    现在的版本  DEFAULT now() 都可以了啊
      

  4.   

    貌似DATEDIFF这个函数不可以的!
      

  5.   

    没有办法,MYSQL目前的DEFAULT只能常数默认值或者 timestamp
      

  6.   

    弄一列默认值timestamp,在用触发器计算