Ошибка MySQl # 1064 - PullRequest
       10

Ошибка MySQl # 1064

14 голосов
/ 25 апреля 2010

Я получаю эту ошибку:

MySQL сказал: # 1064 - У вас есть ошибка в вашем синтаксисе SQL; проверить руководство что соответствует вашему серверу MySQL версия для правильного использования синтаксиса рядом с INSERT INTO books.book (isbn10, ISBN13, название, издание, 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 ]

25 голосов
/ 25 апреля 2010

возможно, вы забыли добавить ";" после этой строки кода:

`quantity` INT NOT NULL)
3 голосов
/ 21 августа 2013

В моем случае у меня была та же ошибка, и позже я узнал, что ' условие ' является зарезервированным ключевым словом mysql, и я использовал его в качестве имени поля.

0 голосов
/ 15 января 2015

Сначала вам нужно добавить точку с запятой (;) после quantity INT NOT NULL) затем удалите ** из ,genre,quantity)**. чтобы вставить значение с числовым типом данных, таким как int, decimal, float и т. д., вам не нужно добавлять одинарные кавычки.

0 голосов
/ 06 ноября 2013

Иногда, когда ваша таблица имеет имя, похожее на имя базы данных, вы должны использовать обратную галочку. так вместо:

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

Вы должны иметь это:

INSERT INTO `books`.`book`(`field1`, `field2`) VALUES ('value1', 'value2');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...