我去年正在考虑一个项目,并且导出和导入很好,但最近我决定导入我的sql文件,由于每个表中有很多错误,我无法导入。
一旦我停止了工作,我就删除了xampp,现在又决定再次下载,但是我坚持导入,这是我的完整文件:
我的错误如下:
CREATE TABLE
company_type
(company_type_id
int(11)NOT NULL,
company_type
varchar(50)NOT NULL,company_type_date
datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,company_type_enabled
varchar(15)NOT NULL DEFAULT'enabled')ENGINE = InnoDB DEFAULT CHARSET = latin1 MySQL说:文档1064 - 您的SQL语法出错;检查与MariaDB服务器版本对应的手册,以获得正确的语法
靠近'-----------------------------------------
CREATE TABLE
company_type
(第1行的`comp'
但是当我删除它时,我又收到了另一个错误:
CREATE TABLE
employees
(employees_id
int(11)NOT NULL,
employees_page
int(11)NOT NULL,employees_page_type
varchar(15) NOT NULL,employees_user
int(11)NOT NULL,employees_date
datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,employees_manage
varchar(15)NOT NULL DEFAULT'sent')ENGINE = InnoDB DEFAULT CHARSET = latin1 MySQL说:文档1064 - 您的SQL语法出错;检查与MariaDB服务器版本对应的手册,以获得正确的语法
靠近'-----------------------------------------
第1行------------------------------------'
我该如何解决这个问题?我已经通过在线检查器运行了sql,并且声明sql是正常的。
答案 0 :(得分:0)
您的表创建错误,您将日期时间数据类型错误地放入时间戳值。
这是你的第一个错误表
CREATE TABLE company_type ( company_type_id int(11) NOT NULL,
company_type varchar(50) NOT NULL, company_type_date datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, company_type_enabled varchar(15) NOT NULL DEFAULT 'enabled' ) ENGINE=InnoDB DEFAULT CHARSET=latin1
这里的问题是 datetime NOT NULL DEFAULT CURRENT_TIMESTAMP
您正在使用datetime数据类型为值添加时间戳。
如果你想使用 timestamp 数据类型,那就这样做
CREATE TABLE employees ( employees_id int(11) NOT NULL,
employees_page int(11) NOT NULL, employees_page_type varchar(15) NOT NULL, employees_user int(11) NOT NULL,
employees_date timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
employees_manage varchar(15) NOT NULL DEFAULT 'sent' ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
如果你想使用 datetime 数据类型,那么就这样做
CREATE TABLE employees1 ( employees_id int(11) NOT NULL,
employees_page int(11) NOT NULL, employees_page_type varchar(15) NOT NULL, employees_user int(11) NOT NULL,
employees_date datetime NOT NULL,
employees_manage varchar(15) NOT NULL DEFAULT 'sent' ) ENGINE=InnoDB DEFAULT CHARSET=latin1;