Unknown column 'a' in 'where clause',出现这个问题,如何处理?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Unknown column 'a' in 'where clause',出现这个问题,如何处理?相关的知识,希望对你有一定的参考价值。

“Unknown column 'a' in 'where clause'”类似于Unknown column ‘xxx’ in ‘where clause’的问题。 

单从字面理解,我们很容易得出列名不存在的结论,但是,很多时候起始并不是由于列名出错造成的。而是由于拼凑sql语句时对字符类型数据没有用引号引起来造成的。

    例如:一个hql语句:

    final String hql = "from ActiveCert ac where ac.issuerName="+issueName";

    设置issueName值为ysy,则错误如下:

    Unknown column

    ysy′ in ‘where clause’

sql中如果issueName是整型的倒不会出现什么错误,而如果sql中字符串类型必须要包含在引号内。

所以修改hql为:

final String hql = "from ActiveCert ac where ac.issuerName='"+issueName+"'";

则错误消失。

参考技术A 你的where后面的条件中使用了一个不正确的字段名 a追问

字段名不是a,而字段名是user ,a 是这个字段名的记录。。。

追答

什么意思

追问

我现在是做一个登录界面,

通过帐号,密码登录,而这个账号和密码就要去数据库去提取,但就是不能提取

追答

select user,password from 表名 where user='a'
类似这样取数据

参考技术B 可能 column 写错了 参考技术C 你是想把user起别名叫a吧
那么user和a之间不用加逗号
select user a from 表名
这样用追问

字段名不是a,而字段名是user ,a 是这个字段名中记录。。。

还是出现这种问题,如何处理呢?

追答

select user from 表名 where user='a'
a上要加引号的?加了么?

本回答被提问者和网友采纳

Python Flask 向MySQL表里插入一条记录,提示Unknown column 'XXX' in 'field list

sql =‘ INSERT INTO `blog`.`user` (`id`, `username`) VALUES (%d, %s)‘ %(1,username)
我在给username赋值aaabbb后提示:"Unknown column ‘aaaabbb‘ in ‘field list‘"
找了半天问题,原来是%s没加双引号。
改为如下
sql =‘ INSERT INTO `blog`.`user` (`id`, `username`) VALUES (%d, "%s")‘ %(1,username)
成功
 
%s,一定要加上双引号

以上是关于Unknown column 'a' in 'where clause',出现这个问题,如何处理?的主要内容,如果未能解决你的问题,请参考以下文章