解决:Unknown column ‘id‘ in ‘where clause‘ 问题

小编给大家分享一下如何解决unknown column in where clause的问题,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!

但凡写过sql语句的人估计都曾经碰到过类似于Unknown column ‘xxx’ in ‘where clause’的问题。 单从字面理解,我们很容易得出列名不存在的结论。这说明sql语句编写不正确,需要进行检查、修改。

但是,很多时候其实并不是由于列名出错造成的。

我总结了以下几点造成Unknown column 'id' in 'where clause'的原因,希望对大家有所帮助。

1.数据库字段名与实体类属性名不一致

相信大家平时都比较仔细,很少会产生这种问题,但有时候情况可能并不如意,数据库字段名可能会有空格,导致大家百思不得其解,小编今天就遇到了这种情况。

解决:Unknown column ‘id‘ in ‘where clause‘ 问题_第1张图片

解决:Unknown column ‘id‘ in ‘where clause‘ 问题_第2张图片

 如图中所示,看似没什么问题,但却因字段名前面有空格,导致字段名与与属性名不一致,如果大家有遇到这种情况,希望对大家有所帮助。

2.由于拼凑sql语句时对字符类型数据没有用引号引起来造成的

例子:

 String sql="select age from user where name="+xxx+";

设置name的值为columName,则错误如下:    

Unknown column  ′xxx′ in   ′where clause′

解决步骤:

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

所以修改sql为

String sql="select age from user where name=′"+xxx+"′";

则错误消失。

你可能感兴趣的:(IDEA,sql,数据库)