Mysql 以下代码中更新的变量last_的默认值无效
为什么变量“last_updated”的默认值错误无效? 注意,当我在phpmyadmin中的MySQL控制台中运行以下代码时,出现了这个错误Mysql 以下代码中更新的变量last_的默认值无效,mysql,Mysql,为什么变量“last_updated”的默认值错误无效? 注意,当我在phpmyadmin中的MySQL控制台中运行以下代码时,出现了这个错误 CREATE TABLE IF NOT EXISTS `articles` ( `article_id` int(10) NOT NULL AUTO_INCREMENT, `content_id` int(10) NOT NULL, `article_body` text NOT NULL, `last_updated`
CREATE TABLE IF NOT EXISTS `articles` (
`article_id` int(10) NOT NULL AUTO_INCREMENT,
`content_id` int(10) NOT NULL,
`article_body` text NOT NULL,
`last_updated` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`article_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=532 ;
您需要将
last\u updated
列的数据类型更改为timestamp
,而不是datetime
。这将允许使用CURRENT_TIMESTAMP
作为默认值
碰巧,这两种数据类型以相同的格式表示
YYYY-MM-DD HH:MM:SS
。因此,如果/当您使用数据时,您应该不会遇到任何问题。检查您的MySQL服务器版本,从版本5.6.5开始,允许使用当前时间戳作为日期时间类型的默认值,否则您应该使用时间戳类型或在外部维护它。可能重复的