表中有个别字段名字是关键字,如value、key等关键字,致使不能用sql语句操做数据库。sql
解决方案:这个因数据库类型不一样而各有所异。一种是在这个字段名上加中括号[],如[key];另外一种是加上双引号"",如"key";数据库
单引号''和双引号“”的区别post
insert into test.column_key_tb (id,key,value,extra_info) values(2,"hello",'world','program starts!');//出错
解决方案:是由于双引号会被识别为字段名,而单引号才是表示一个字符串。因此,把“hello”改成'hello'测试
ibatis+postgre中,插入一条记录时返回该记录在数据库中的id。spa
解决方案:根据网上资料,有两种说法能够实现。postgresql
第一种以下,可是亲自测试了后(个人ibatis版本是2.0),发现不识别属性keyProperty和属性useGenerateKeys。code
<insert id="xxx" parameterType="map" keyProperty="id" useGeneratedKeys="true"> insert xxxx </insert>
第二种以下:这种能够实现,能识别属性,而且利用序列来返回最新序列号,也就是刚刚插入那条记录的id。索引
<selectKey resultClass="Integer" keyProperty="id"> SELECT currval('testtb_id_seq') as id; </selectKey>
查看Postgresql安装下面的base文件夹的数字命名文件夹对应于哪一个数据库。采用以下命令:字符串
select *,oid from pg_database;
直接在postgresql 的SQL Shell中输入上面命令,便可查看数据库对应数字文件夹,其中OID就是对应数字文件夹。io
建立索引时,若是表名是关键字,那么须要给表名加上双引号“”,如location是关键字,那么写法以下:
create index FK_xxxx on "location" (ins_fk) ;