下面是我的建表语句:
create table data
(
        id int auto_increment primary key,
        title varchar(255) not null,
        author varchar(30) not null,
        time datetime not null default now(),
        content text not null
);
我想使用"\. d:\guestbook.sql"直接导入数据库,可是却有错误:
错误
SQL 查询: ALTER TABLE `time` CHANGE `time` `time` DATETIME NOT NULL DEFAULT 'now()' MySQL 返回: #1067 - Invalid default value for time
请问题是怎么回事的?now()应该返回一个datetime 类型的数据呀,怎么是错误的呢?

解决方案 »

  1.   

    CURRENT_TIMESTAMP(), CURRENT_TIME(), CURRENT_DATE(), and FROM_UNIXTIME() functions return values in the connection's current time zone, which is available as the value of the time_zone system variable. In addition, UNIX_TIMESTAMP() assumes that its argument is a datetime value in the current time zone. 
      

  2.   

    please in Chinese,I only know a little English!!!!
      

  3.   

    修改表的字段 time  默认值为CURRENT_DATE()。
      

  4.   

    DEFAULT子句用于为列指定一个默认值。默认值必须为一个常数,不能为一个函数或一个表达式,有一种情况例外。例如,一个日期列的默认值不能被设置为一个函数,如NOW()或CURRENT_DATE。不过,有一种例外,您可以对TIMESTAMP列指定CURRENT_TIMESTAMP为默认值