Ich bekomme diesen Fehler immer wieder:
MySQL sagte: # 1064 - Sie haben einen Fehler in Ihrer SQL-Syntax; Überprüfen Sie das Handbuch das entspricht Ihrem MySQL-Server Version für die richtige zu verwendende Syntax in der Nähe von 'INSERT INTO books.book (isbn10, isbn13, Titel, Ausgabe, author_f_name, author_m_na ' in Zeile 15
mit dieser Abfrage:
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');
Irgendeine Idee was das Problem ist?
vielleicht haben Sie vergessen, nach dieser Codezeile ";
" hinzuzufügen:
`quantity` INT NOT NULL)
In meinem Fall hatte ich den gleichen Fehler und später erfuhr ich, dass das ' condition ' das reservierte mysql-Schlüsselwort ist und ich habe es als Feldnamen verwendet.
Zuerst müssen Sie ein Semikolon (;) nach quantity INT NOT NULL)
Hinzufügen und dann ** aus ,genre,quantity)**
. Entfernen, um einen Wert mit einem numerischen Datentyp wie int, decimal, float usw. einzufügen Zitat.
Wenn Ihre Tabelle einen ähnlichen Namen wie der Datenbankname hat, sollten Sie das Häkchen setzen. also statt:
INSERT INTO books.book(field1, field2) VALUES ('value1', 'value2');
Sie sollten dies haben:
INSERT INTO `books`.`book`(`field1`, `field2`) VALUES ('value1', 'value2');