【发布时间】:2019-02-28 13:49:21
【问题描述】:
尝试上传此.sql 文件但不断收到错误消息:
1067 - Invalid default value for 'updated_at'
我已经阅读了许多人们遇到同样问题的帖子。遗憾的是,升级 mySQL 并使用 timestamp 不是一种选择。
是否有可能以某种方式重新制作代码以使其与mySQL version: 5.5.16 一起使用?
我对@987654327@ 基本一无所知,这只是一个需要上传的快件。
我在 Windows 上使用 xampp
这是我的代码:
-- Create syntax for TABLE 'api_news'
CREATE TABLE `api_news` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`user_id` int(11) NOT NULL,
`news_title` text NOT NULL,
`news_content` text NOT NULL,
`news_image` text,
`room_id` int(11) DEFAULT NULL,
`group_id` int(11) DEFAULT NULL,
`news_hidden` enum('0','1') NOT NULL DEFAULT '0',
`updated_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE
CURRENT_TIMESTAMP,
`created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-- Create syntax for TABLE 'api_news_comments'
CREATE TABLE `api_news_comments` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`article_id` int(11) NOT NULL,
`user_id` int(11) NOT NULL,
`message` text NOT NULL,
`updated_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE
CURRENT_TIMESTAMP,
`created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- Create syntax for TABLE 'api_profile_comments'
CREATE TABLE `api_profile_comments` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`profile_id` int(11) NOT NULL,
`user_id` int(11) NOT NULL,
`message` text NOT NULL,
`updated_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE
CURRENT_TIMESTAMP,
`created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- Create syntax for TABLE 'api_room_comments'
CREATE TABLE `api_room_comments` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`room_id` int(11) NOT NULL,
`user_id` int(11) NOT NULL,
`message` text NOT NULL,
`updated_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE
CURRENT_TIMESTAMP,
`created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- Create syntax for TABLE 'api_sessions'
CREATE TABLE `api_sessions` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`session` varchar(100) NOT NULL DEFAULT '',
`expires` int(11) NOT NULL DEFAULT '0',
`data` text NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `user_session` (`session`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC;
【问题讨论】:
-
您需要 MySQL 5.6.5 或更高版本才能使其正常工作dev.mysql.com/doc/refman/5.6/en/timestamp-initialization.html
-
这真的是让它发挥作用的唯一方法吗?