SQL转储上传语法错误
问题描述:
我有一个SQL转储SQL转储上传语法错误
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');
但是,当我试图通过像phpMyAdmin或者Navicat的工具,我得到一个错误,把它上传:
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
什么可能是错的?
答
从Table_name和Column_Names中删除所有双引号&单引号。在MySql AUTOINCREMENT
不存在,它必须是'AUTO_INCREMENT'。除了默认值timestamp
似乎是无效的。
MySQL使用back.ticks分隔标识符。 (这些''是ANSI SQL。) – jarlh
我对mySQL不太熟悉,但是如果它与sql-server相媲美;你试图将'1'插入到autoincrement属性中。要禁用自动增量,或者不为'id'插入值(在这种情况下,您必须提及您要插入的属性)。 – HoneyBadger
我不确定试试这个INSERT INTO文档VALUES(1,'2015-01-05 11:00:21',NULL,7036691,2709001);删除表格名称的引号。您正在使用单引号进行文件ant双引号进行支付检查语法是否正确。 – mady