最近在做一个oa系统,简化了账号的设置,列名均为id,类型均为varchar;有的表将id设置成了主键,有的表没有设置成主键。
通过举例说明通过id查询的一些问题。
之前登陆的时候,账号001-007都可以正常登陆:调用的方法是findById("001"). 但是用账号008登陆时出现了问题:findById("008"),没有任何结果返回,后来经过查证,中间发生了类型转换(到现在不明白为什么001-007没有问题)。后来改成findById("‘008‘"),登陆成功,将008用单引号引住。
后来在其他表通过id(非主键)查询的时候用单引号引起来就出错了,查询不出结果,去掉单引号,可以查到记录。不知道具体的原因。
于是得到了结论:当id作为主键时,通过id查询要加上单引号;id不是主键时,不要加单引号。
时间: 2024-11-06 09:39:54