2013-01-11 91 views
0

我得到一个错误,当我试图通过命令导入数据:MYSQL脚本导入错误

mysql -u root -p"root" cvdb < "cvdb.sql" 

我得到的错误是:

在线路72

ERROR 1064(42000) :您的SQL语法错误;检查与您的MySQL服务器版本相对应的手册,在正确的语法中使用 '(14)NOT NULL, Created 0123time,NOT NULL默认'0000-00-00 00:00:00', '在14行

我的SQL文件的代码是:

DROP TABLE IF EXISTS `activity`; 
CREATE TABLE `activity` (
    `AllDay` enum('YES','NO') default 'NO', 
    `ActivityID` int(11) unsigned NOT NULL auto_increment, 
    `Type` int(11) NOT NULL default '0', 
    `Priority` int(11) NOT NULL default '0', 
    `Status` int(11) NOT NULL default '0', 
    `Title` varchar(255) default NULL, 
    `DueDate` datetime default NULL, 
    `CompletedDate` datetime default NULL, 
    `Details` text, 
    `Creator` int(11) NOT NULL default '0', 
    `Owner` int(11) default NULL, 
    `ModifiedBy` int(11) default NULL, 
    `Modified` timestamp(14) NOT NULL, 
    `Created` datetime NOT NULL default ' 0000-00-00 00:00:00 ', 
    `Start` datetime default NULL, 
    `End` datetime default NULL, 
    `AttachmentType` enum('NONE','FILE','LINK') NOT NULL default 'NONE', 
    `Location` varchar(25) default NULL, 
    `visibility` enum('PRIVATE','PUBLIC') NOT NULL default 'PRIVATE', 
    `Notes` varchar(255) default NULL, 
    PRIMARY KEY (`ActivityID`), 
    UNIQUE KEY `ActivityID` (`ActivityID`), 
    KEY `Type` (`Type`), 
    KEY `Priority` (`Priority`), 
    KEY `Status` (`Status`), 
    KEY `Creator` (`Creator`), 
    KEY `Owner` (`Owner`), 
    KEY `ModifiedBy` (`ModifiedBy`), 
    KEY `Location` (`Location`) 
) ENGINE=InnoDB; 

回答

0

的错误是在这里Modified timestamp(14) NOT NULL。您应该从时间戳中删除(14)

您的局部DDL

`ModifiedBy` int(11) default NULL, 
    `Modified` timestamp NOT NULL, 
    `Created` datetime NOT NULL default '0000-00-00 00:00:00', 
    `Start` datetime default NULL, 
0

mysql DOC

不兼容的变化:在非常老版本的MySQL(之前4.1)的,该 TIMESTAMP数据类型所支持的显示宽度,这沉默 忽略从MySQL 4.1开始。这在MySQL 5.1中已被弃用,并且在MySQL 5.5中完全删除了 。试图用一个 的MySQL 5.5或更高版本的服务器TIMESTAMP(N)列时,这些行为变化会导致 二题情景:

...

你应该尝试处理这些潜在的问题通过使用ALTER TABLE更新 数据库中的任何TIMESTAMP(N)列来主动键入 ,以便它们在执行任何 升级之前使用TIMESTAMP。

所以尽量去除(14)

Modified timestamp(14) NOT NULL 

或文档如说,尝试导入之前,要对您的时间戳列alter table语句。

+0

非常感谢您的快速回复。它真的工作,我正在寻找3小时,你在3分钟内回复再次感谢.. – user1948334

+0

@ user1948334没有问题,回答编辑,顺便说一句,它可能是有用的。 –