mysql关键字key的转义

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里面的``。

 

你可能感兴趣的:(sql,mysql)