15

我不断收到此错误:

MySQL 说:#1064 - 你的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 15 行的 'INSERT INTO books.book(isbn10,isbn13,title,edition,author_f_name,author_m_na' 附近使用正确的语法

使用此查询:

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

4 回答 4

27

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

`quantity` INT NOT NULL)
于 2010-04-24T23:15:07.477 回答
3

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

于 2013-08-21T13:00:16.100 回答
0

有时,当您的表具有与数据库名称相似的名称时,您应该使用反勾号。所以而不是:

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

你应该有这个:

INSERT INTO `books`.`book`(`field1`, `field2`) VALUES ('value1', 'value2');
于 2013-11-06T05:17:31.740 回答
0

首先,您需要添加分号 (;),quantity INT NOT NULL) 然后从,genre,quantity)**. 要插入具有 int、decimal、float 等数字数据类型的值,您无需添加单引号。

于 2015-01-15T17:53:01.613 回答