关键字: key字段是mysql里面的关键字
insert into app(name,created,key,secret,masterSecret) values ('aa',null,null,null,null);
因为这里的key字段是mysql的关键字,所以一直插不进去。
修改如下:在key的头上加上两点(反引号,它在键盘的~这个键上)。即可搞定
sql建表如下:
Java代码
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;
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等等的颜色一样,但是它不是关键字。
Java代码
insert into app (name,`key`,secret,status) values ('aa','bb',null,2);
insert into app (name,`key`,secret,status) values ('aa','bb',null,2);
这样可以插成功的。
Java代码
上面都是针对mysql的关键字的。
如果是sqlserver的话,关键字是用它[] --> 中括号 ,来代替mysql里面的``。
常用MySQL的童鞋都知道这个myisam类型的表极容易损坏,多数人可能都是用myisamchk命令来人工修复,下面介绍一种自动修复myisam的方法,也是我上午刚学的,共同进步,呵呵~
在MySQL的配置文件my.cnf中,启动项部分加入myisam-recover设置数据恢复功能,具体 ......