时间戳字段上的默认值无效?怎么了?

时间:2014-10-28 20:54:19

标签: mysql mysql-error-1064 create-table

我使用readline 6.2运行mysql Ver 14.14 Distrib 5.5.40,debian-linux-gnu(i686)

当我尝试执行下面的查询时,我收到一条错误消息,“'created_at'的默认值无效”

我在某处读到这可能是由于MySQL模式,但my.ini中没有为该模式设置任何内容。

查询是:

CREATE TABLE `rets_feeds` (
`id` tinyint(4) NOT NULL AUTO_INCREMENT,
`board` varchar(20) DEFAULT NULL COMMENT 'The board providing the feed.',
`feedurl` varchar(255) DEFAULT NULL COMMENT 'The URL to log into the feed.',
`username` varchar(255) DEFAULT NULL COMMENT 'Feed Username',
`password` varchar(255) DEFAULT NULL COMMENT 'Feed Password',
`active` char(1) DEFAULT '1',
`last_query_at` datetime DEFAULT NULL COMMENT 'The last time the RETS feed queried the server and returned results.',
`created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 'Record Creation Date',
`updated_at` datetime NOT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT 'Record Update Date',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8

1 个答案:

答案 0 :(得分:3)

根据文档:http://dev.mysql.com/doc/refman/5.5/en/timestamp-initialization.html

  

表中的一个TIMESTAMP列可以将当前时间戳作为初始化列的默认值,作为自动更新值,或两者。当前时间戳不可能是一列的默认值和另一列的自动更新值。