2016-07-29 39 views
0

Ich habe einen SQL-DumpSQL-Dump-Upload Syntaxfehler

CREATE TABLE "documents" (
    "id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, 
    "create_ts" timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', 
    "update_ts" timestamp DEFAULT NULL, 
    "number" int(11) NOT NULL, 
    "entity_id" int(11) NOT NULL 
); 
INSERT INTO 'documents' VALUES (1,'2015-01-05 11:00:21',NULL,7036691,2709001); 

CREATE TABLE "payments" (
    "id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, 
    "create_ts" timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', 
    "update_ts" timestamp DEFAULT NULL, 
    "amount" decimal(10,2) NOT NULL, 
    "finish_time" timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' 
); 

INSERT INTO "payments" VALUES (2709001,'2015-01-05 11:00:21',NULL,1000.00,'2015-01-04 21:00:00'); 

Aber wenn ich versuche es über Tools wie phpMyAdmin hochladen oder navicat Ich erhalte eine Fehlermeldung:

1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''documents' VALUES (1,'2015-01-05 11:00:21',NULL,7036691,2709001)' at line 1

Was kann falsch liegen?

+2

MySQL verwendet back.ticks für Begrenzungsbezeichner. (Diese '' 's sind ANSI SQL.) – jarlh

+0

Ich bin nicht vertraut mit mySQL, aber wenn es vergleichbar mit SQL-Server funktioniert, versuchen Sie," 1 "in ein Autoincrement-Attribut einzufügen Deaktivieren Sie Autoincrement oder fügen Sie keinen Wert für "id" ein (in diesem Fall müssen Sie die Attribute angeben, die Sie einfügen). – HoneyBadger

+0

Ich bin nicht sicher, versuchen Sie diese INSERT INTO Dokumente VALUES (1, '2015-01-05 11: 00: 21 ', NULL, 7036691,2709001); Entfernen Sie die Anführungszeichen für den Tabellennamen. Sie verwenden einfache Anführungszeichen für Dokumente und doppelte Anführungszeichen für die Zahlungsüberprüfung, wenn diese Syntax richtig ist. – mady

Antwort

0

Entfernen Sie alle doppelten Anführungszeichen & einfache Anführungszeichen aus Table_name und Column_Names. In MySql AUTOINCREMENT nicht vorhanden ist, muss es "AUTO_INCREMENT" sein. Außerdem scheint der Standardwert für timestamp ungültig zu sein.