1问题:
查询表中数据如下(select * from XXX limit 1;):
表中有一个字段是UID,我用这个字段查询的时候报错,无效的oid类型输入语法:"4f609ce6-80b8-46e3-a7b5-588c985a40ea"
(select * from isolation where UID = '4f609ce6-80b8-46e3-a7b5-588c985a40ea'; )
报此错误的原因是UID是数据库中的关键字。查询的时候字段名为UID时,被认为是关键字了,设计表的时候,类型是一个varchar类型,所以类型不符。
2解决:
不改变字段名的条件下,字段用双引号,可以解决问题
3拓展:
我是在使用人大金仓数据库遇到的问题,那么使用其他数据库 会不会遇到这样的问题呢,答案是肯定的。那么下面介绍几种数据库sql字段名或者表明是关键字时问题解决方法,sqlServer用[]转义,oracle用""转义,mysql用``转义。
4备注:解决这个问题的方式有很多,本文是其中一种。