15

このエラーが発生し続けます:

MySQL は次のように述べています: #1064 - SQL 構文にエラーがあります。15 行目の「INSERT INTO books.book(isbn10,isbn13,title,edition,author_f_name,author_m_na」付近で使用する正しい構文については、MySQL サーバーのバージョンに対応するマニュアルを確認してください。

このクエリで:

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 に答える