2010-04-16 108 views
1

我不斷收到以下錯誤消息SQL語法錯誤1064

ERROR 1064(42000):您有一個錯誤的SQL語法;檢查與您的MySQL服務器版本對應的手冊,以便在第1行的''isbn10','isbn13','title','edition','author_f_name','author_m_name','author_l_na'附近使用

當試圖從使用下面的命令的(MySQL的)命令行填充我MySQL數據庫:

源C:\ myFilePath \ myFileName.sql

下面是從一個摘錄我mysqldump(顯示書籍的表結構)。我哪裏做錯了?任何援助將理解:

-- 
-- Table structure for table `book` 
-- 

DROP TABLE IF EXISTS `book`; 
/*!40101 SET @saved_cs_client  = @@character_set_client */; 
/*!40101 SET character_set_client = utf8 */; 
CREATE TABLE `book` (
    `book_id` int(11) NOT NULL AUTO_INCREMENT, 
    `isbn10` char(20) DEFAULT NULL, 
    `isbn13` char(20) DEFAULT NULL, 
    `title` char(20) DEFAULT NULL, 
    `edition` char(20) DEFAULT NULL, 
    `author_f_name` char(20) DEFAULT NULL, 
    `author_m_name` char(20) DEFAULT NULL, 
    `author_l_name` char(20) DEFAULT NULL, 
    `cond` enum('as new','very good','good','fair','poor') DEFAULT NULL, 
    `price` decimal(8,2) DEFAULT NULL, 
    `genre` char(20) DEFAULT NULL, 
    PRIMARY KEY (`book_id`) 
) ENGINE=MyISAM DEFAULT CHARSET=latin1; 
/*!40101 SET character_set_client = @saved_cs_client */; 

-- 
-- Dumping data for table `book` 
-- 

********編輯********** 這裏是我的腳本(對不起,我忘了,包括這一點):

USE書籍;

INSERT INTO書( 'ISBN10', '網路書店', '標題', '版本', 'author_f_name', 'author_m_name', 'author_l_name', 'COND', '價格', '流派') VALUES ('0136061699','978-0136061694','Software Engineering:Theory and Practice','4th Edition','Shari','Lawrence','Pfleeger','very good','50','Computing') ;

+0

什麼版本的MySQL服務器,你要導入到這個? – 2010-04-16 18:03:22

+0

感謝您的回覆Pekka。我正在使用MySQL 5.1.41(XAMPP) – Anthony 2010-04-16 19:02:50

回答

2

不要在列名稱周圍使用單引號。單引號表示字符串,您不使用字符串作爲列名。

試着改變你的腳本是:

USE books; 

INSERT INTO book (isbn10, isbn13, title, edition, author_f_name, 
    author_m_name, author_l_name, cond, price, genre) 
VALUES ('0136061699', '978-0136061694', 
    'Software Engineering: Theory and Practice','4th Edition', 
    'Shari','Lawrence','Pfleeger','very good','50','Computing'); 
+0

@Lasse,謝謝,你說得對,它工作。有一件事,我從命令行運行查詢後收到了這條消息:Query OK,1 row affected,1 warning(0.00 sec)。 如何顯示關於此特定警告的更多信息?我想解決這個問題,不管它是什麼。 – Anthony 2010-04-16 19:42:22

+0

我不知道,對不起,我不使用MySQL。 – 2010-04-16 20:08:33

+0

我想通了,我的標題大小設置爲char(20),而我的腳本中的標題有41個字符和空格。所以我改變了char(20)到char(50) – Anthony 2010-04-16 20:19:23

1

在isbn10之前,你確實有兩個單引號,還是隻是粘貼的方式?

+0

不知道這是否是之前缺乏縮進的人造物;縮進時,我沒有刪除代碼中的任何引號。 – 2010-04-16 18:14:54

+0

感謝您的回覆Thyamine和Jonathan並縮進我的代碼。我不明白如何在這裏粘貼代碼。不,那些雙單引號被複制並從mysqldump粘貼 – Anthony 2010-04-16 19:01:41

+0

更正:雙單引號來自錯誤消息 – Anthony 2010-04-16 19:17:19