默认值应该只能静态值,不能用函数的吧
如果你用mysql 5.0,你可用触发器试试
CREATE  TRIGGER defaulttime 
BEFORE INSERT ON yourtab
FOR EACH ROW
begin
 set new.timefield=now();
end ;
(我只用过4.2,不支持,你可试试)

解决方案 »

  1.   

    我试过,在mysql 5.0.13上可以.
    我这样测试:
    1.建表
    create table t(t datetime,a varchar(10));
    2.改分隔符(建tigger必须)
     DELIMITER //
    3.建tigger
     CREATE TRIGGER t_bi
    BEFORE INSERT ON t
    FOR EACH ROW
    BEGIN
    SET new.t=now();
    END;//
    4.测试:
     insert into t (a) values('aa');//
    5.检查:
     select * from t;//
    结果为:
    +---------------------+------+
    | t                   | a    |
    +---------------------+------+
    | 2005-11-10 19:47:54 | aa   |
    +---------------------+------+
    1 row in set (0.00 sec)
      

  2.   

    哦~~~我看SQL_SERVER可以,还以为MYSQL也可以~~~
    我正好是用的MYSQL5.0 谢了!!
      

  3.   

    在mysq5.x中建表的时候直接指定默认值
    create table t(
    createddate TIMESTAMP DEFAULT NOW()
    )
      

  4.   

    我一直用的都是datetime 它和timestamp有区别吗??