2013-01-11 93 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沒有問題,回答編輯,順便說一句,它可能是有用的。 –