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+"'";

则错误消失。

温馨提示:内容为网友见解,仅供参考
第1个回答  2013-03-28
你的where后面的条件中使用了一个不正确的字段名 a追问

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

追答

什么意思

追问

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

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

追答

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

第2个回答  2019-01-20
可能 column 写错了
第3个回答  2013-03-28
你是想把user起别名叫a吧
那么user和a之间不用加逗号
select user a from 表名
这样用追问

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

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

追答

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

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

Unknown column 'a' in 'where clause',出现这个问题,如何处理?
Unknown column ysy′ in ‘where clause’sql中如果issueName是整型的倒不会出现什么错误,而如果sql中字符串类型必须要包含在引号内。所以修改hql为:final String hql = "from ActiveCert ac where ac.issuerName='"+issueName+"'";则错误消失。

Unknown column 'admin' in 'where clause'
举例说明:然后找到了解决的方案,原来是我们在代码和sql工具中写sql语句的时候,字符串用‘’就可以被引用,但是在Xshell环境下,并没有这样的环境,Linux的命令中,似乎“”才是引用字符串的王道,所以只需要把我们想要添加的文字替换成用“”包括就可以了。字符型数据定义:字符型(Character)数据是不...

...unknown column"sta_ID" in where clause,请问要怎么改
unknown column"sta_ID" in where clause表示你的数据表的中的列名,对应不正确。唯一的方法,如下:把此语句:"UPDATE customer1 SET cus_Name='" + txtInput2.getText().trim() + "',cus_Phone='" + txtInput3.getText().trim() + "',prtname='" + txtInput4.getText().trim() + ...

Unknown column 'novelId' in 'where clause'
重命名表中的daonovelId字段,首先将其更改为其他并尝试其他操作。如果问题可以解决,请改回名称,然后使用粘贴复制将名称粘贴到表中。无法识别列名的可能性只有两种:1、表中没有这样的列,可能是由于表名或列名错误引起的;2、列名包含其他字符,很难看到,需要通过以上方法测试确认。

Unknown column 'novelId' in 'where clause'
重命名表中的daonovelId字段,首先将其更改为其他并尝试其他操作。如果问题可以解决,请改回名称,然后使用粘贴复制将名称粘贴到表中。无法识别列名的可能性只有两种:1、表中没有这样的列,可能是由于表名或列名错误引起的;2、列名包含其他字符,很难看到,需要通过以上方法测试确认。

...Unknown column 'merchid' in 'where clause'错误
uniacid="uniacid" 改正这样就行 type也这样改

mysql查询语句提示Unknown column 'zp' in 'where clause',求解!
select * from adm where username=zp 这个改为 select * from adm where username=’zp‘就可以了,这样才是查询字符串型的

...Unknown column 'Array' in 'where clause' •[Query] SE_百度知 ...
未知的列Array 看看数据库中是否有此字段。贴出你的sql语句,我们来帮你分析。

...Unknown column 'm.id' in 'where clause'
源代码如下:SELECT d.*,pm.label,( SELECT COUNT(*)from (select js,jifenfrom deal where uid=m.id and time>DATE_FORMAT(time,'$Y-$d-$m')and state!=1 and state!=6 GROUP BY stoptime )) as jys from deal as d,members as m,pricemsg as pm where d.state<>1 and d.uid...

...错误: Unknown column 's.uid' in 'where clause'
s代表的那个表里面没有uid这个字段,,,所以是未知的字段名,,你看看那个字段是不是uuid

相似回答