我有一个 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中AUTOINCRMENT
不存在,它必须是'AUTO_INCRMENT'。此外 timestamp
的默认值似乎无效。
关于SQL转储上传语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38655470/