web-dev-qa-db-fra.com

Erreur MySQl # 1064

Je continue à avoir cette erreur:

MySQL a dit: # 1064 - Vous avez une erreur dans votre syntaxe SQL; consultez le manuel cela correspond à votre serveur MySQL version pour la bonne syntaxe à utiliser près de 'INSERT INTO books.book (isbn10, isbn13, titre, édition, nom_auteur, nom_auteur ' à la ligne 15

avec cette requête:

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');

Une idée du problème?

14
Anthony

peut-être avez-vous oublié d'ajouter ";" après cette ligne de code:

`quantity` INT NOT NULL)
25
Puaka

Dans mon cas, j'avais la même erreur et plus tard, je me rends compte que la condition ' condition ' est le mot clé réservé mysql et que je l'ai utilisé comme nom de champ.

3
Keval Kothari

Au début, vous devez ajouter un point-virgule (;) après le quantity INT NOT NULL) Puis retirez ** du ,genre,quantity)**..__ pour insérer une valeur avec un type de données numérique comme int, decimal, float, etc. vous n'avez pas besoin d'ajouter un seul citation.

0
Exp3rt

Parfois, lorsque votre table a un nom similaire au nom de la base de données, vous devez utiliser la coche arrière. alors au lieu de:

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

Vous devriez avoir ceci: 

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