转载:http://solodu.iteye.com/blog/520419
nsert 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里面的``。