MySQl错误#1064

时间:2010-04-24 23:09:01

标签: mysql mysql-error-1064

我一直收到这个错误:

  

MySQL说:#1064 - 你有错误   在你的SQL语法中;检查手册   对应于您的MySQL服务器   用于正确语法的版本   在'INSERT INTO附近   books.book(ISBN10,系列名,书名,版本,author_f_name,author_m_na”   在第15行

使用此查询:

USE books;

DROP TABLE IF EXISTS book;


    CREATE TABLE `books`.`book`(
    `book_id` INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
    `isbn10` VARCHAR(15) NOT NULL,
    `isbn13` VARCHAR(15) NOT NULL,
    `title` VARCHAR(50) NOT NULL,
    `edition` VARCHAR(50) NOT NULL,
    `author_f_name` VARCHAR(50) NOT NULL,
    `author_m_name` VARCHAR(50) NOT NULL,
    `author_l_name` VARCHAR(50) NOT NULL,
    `cond` ENUM('as new','very good','good','fair','poor') NOT NULL,
    `price` DECIMAL(8,2) NOT NULL,
    `genre` VARCHAR(50) NOT NULL,
    `quantity` INT NOT NULL)

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

知道问题是什么吗?

4 个答案:

答案 0 :(得分:25)

也许你忘了在这行代码之后添加“;”:

`quantity` INT NOT NULL)

答案 1 :(得分:3)

在我的情况下,我遇到了同样的错误,之后我才知道'条件'是mysql保留关键字,我将其用作字段名称。

答案 2 :(得分:0)

有时,当您的表具有与数据库名称相似的名称时,您应该使用返回tick。所以代替:

INSERT INTO books.book(field1, field2) VALUES ('value1', 'value2');

你应该有这个:

INSERT INTO `books`.`book`(`field1`, `field2`) VALUES ('value1', 'value2');

答案 3 :(得分:0)

首先,您需要在quantity INT NOT NULL)之后添加半冒号(;) 然后从,genre,quantity)**中删除**。 插入一个数值数据类型的值,如int,decimal,float等,你不需要添加单引号。