insert into app(name,created,key,secret,masterSecret) values ('aa',null,null,null,null);
因为这里的key字段是mysql的关键字,所以一直插不进去。
修改如下:在key的头上加上两点(反引号,它在键盘的~这个键上)。即可搞定
sql建表如下:
CREATE TABLE `app` ( `id` bigint(20) NOT NULL auto_increment, `name` varchar(50) default NULL, `created` datetime default NULL, `key` varchar(100) default NULL, `secret` varchar(100) default NULL, `masterSecret` varchar(100) default NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
1. 我这样写:insert into app (name,key,secret) values ('aa','bb',null); 结果报错的,就因为key是关键字。
2. 正确写:insert into app (name,`key`,secret) values ('aa','bb',null);结果搞定。
另外说明下:虽然status和这些关键字insert into values key等等的颜色一样,但是它不是关键字。
insert into app (name,`key`,secret,status) values ('aa','bb',null,2);
这样可以插成功的。
上面都是针对mysql的关键字的。 如果是sqlserver的话,关键字是用它[] --> 中括号 ,来代替mysql里面的``。