我试图将现有数据库转储到我的实时服务器上,并且收到此错误消息。
到目前为止我做了什么:
通过putty登录我的服务器,打开Mysql并进入相应的数据库然后运行以下代码:
source /home/ec2-user/fta_sport_database_4.sql
这成功创建了20个必需数据库中的14个,但后来我收到了这个错误:
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near
'(6) NOT NULL,
`post_category_id` int(11) NOT NULL,
`team_a_id` int(11) DEFAU' at line 10
我打开了SQL文本文件,这是它似乎正在努力解决的代码:
CREATE TABLE `articles_post` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`title` varchar(100) NOT NULL,
`post_slug` varchar(100) NOT NULL,
`short_description` varchar(150) DEFAULT NULL,
`body` longtext NOT NULL,
`headline_image` varchar(100) DEFAULT NULL,
`post_image` varchar(100) DEFAULT NULL,
`youtube_link` varchar(200) DEFAULT NULL,
`posted` datetime(6) NOT NULL,
`post_category_id` int(11) NOT NULL,
`team_a_id` int(11) DEFAULT NULL,
`team_b_id` int(11) DEFAULT NULL,
`headline_image_credit` varchar(150) DEFAULT NULL,
`post_image_credit` varchar(150) DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `post_slug` (`post_slug`),
KEY `articles_post_posted_2a82c6bc` (`posted`),
KEY `articles_post_team_a_id_ef2d8ab7_fk_teams_team_id` (`team_a_id`),
KEY `articles_post_team_b_id_10d6b1e5_fk_teams_team_id` (`team_b_id`),
KEY `articles_post_post_category_id_54408756_fk_sports_sport_id` (`post_category_id`),
CONSTRAINT `articles_post_post_category_id_54408756_fk_sports_sport_id` FOREIGN KEY (`post_category_id`) REFERENCES `sports_sport` (`id`),
CONSTRAINT `articles_post_team_a_id_ef2d8ab7_fk_teams_team_id` FOREIGN KEY (`team_a_id`) REFERENCES `teams_team` (`id`),
CONSTRAINT `articles_post_team_b_id_10d6b1e5_fk_teams_team_id` FOREIGN KEY (`team_b_id`) REFERENCES `teams_team` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;
我自己没有编写任何SQL文本文件。
我看过一个解决方案,说AUTO_INCREMENT需要为1而不是2,但我改变了它,它仍然没有任何区别。
答案 0 :(得分:0)
在MySQL WorkBench中手动创建表后,我认为问题出现在某些表中,它指定DATETIME长度为(6)。在我手动创建的表中,它没有接受DATETIME(6)但确实接受了DATETIME。
我认为这就是导致问题的原因。