日期:2014-05-16  浏览次数:20326 次

datetime 设置默认值
create table test
(
   id                   bigint not null,
   entry_time           datetime default now(),
   primary key (id)
);

结果:
1067 - Invalid default value for 'entry_time'
原因:
The DEFAULT value clause in a data type specification indicates a default value for a column. With one exception, the default value must be a constant; it cannot be a function or an expression. This means, for example, that you cannot set the default for a date column to be the value of a function such as NOW() or CURRENT_DATE. The exception is that you can specify CURRENT_TIMESTAMP as the default for a TIMESTAMP column.

http://dev.mysql.com/doc/refman/5.6/en/data-type-defaults.html
根据上面的解释,下面这个是对的:
create table test
(
   id                   bigint not null,
   entry_time           timestamp default CURRENT_TIMESTAMP,
   primary key (id)
);