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

2020-05-06 教育 77阅读

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

则错误消失。

声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com