MySQL插入时间戳值导致命令失败

MySQL插入时间戳值导致命令失败,mysql,Mysql,我在插入时间戳字段时遇到问题 这是我的模式: CREATE TABLE `sponsorlog` ( `updated` timestamp, `user` varchar(200) NOT NULL, `company` varchar(200) NOT NULL, `change` varchar(200) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8; 以下是insert命令: insert into sponsorlog (

我在插入时间戳字段时遇到问题

这是我的模式:

CREATE TABLE `sponsorlog` (
  `updated` timestamp,
  `user` varchar(200) NOT NULL,
  `company` varchar(200) NOT NULL,
  `change` varchar(200) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
以下是insert命令:

insert into sponsorlog (user, company, change, updated) 
values ('attaskadmin@llts.com', '3M', 'Sponsor Jon Bove added', '2015-08-10 17:43:32');
这个错误是典型的无用的MySQL错误。它似乎指向日期/时间值,但我看不出有什么问题。有什么想法吗

错误1064(42000):您的SQL语法有错误;检查 与右边的MySQL服务器版本相对应的手册 使用“更改,更新”值('attaskadmin@llts.com', “3M”,赞助商Jon Bove在第1行添加了“3M”


change
是保留字,需要加引号。在MySQL中,标识符引号字符是反勾号:`

insert into sponsorlog (user, company, `change`, updated) 
values ('attaskadmin@llts.com', '3M', 'Sponsor Jon Bove added', '2015-08-10 17:43:32');
另外,
user
是一个非保留关键字,因此为了保持一致,您可能希望对所有列使用引号

如果标识符包含特殊字符或是保留字, 每当你提到它时,你必须引用它