数据库查询语句遇到:Unknown column ‘XXXX’ in 'where clause’解决方法
根本原因:可能是sql语句所用到的数据类型错误(int与String)弄错…
我的情况:
在网页其中的jsp页面接收html页面传来的cssn=‘L000 ’的值,需要用sql语句,查询cssn=‘L000’的那一个Tuple.
- 下图为之前的代码:(错误的)
String cssn=request.getParameter("cssn");
String sql=" select * from Client where Cssn="+cssn; //cssn为整数类型适用
- 错误原因:Cssn为string类型 +cssn则为整数类型 需要加‘’
- 下图为修改过的代码:(正确的)
String cssn=request.getParameter("cssn");
String sql=" select * from Client where Cssn=' "+cssn+" ' "; //Cssn为string类型适用
解释: 因为 "+cssn+"为L000 查询时Cssn=’L000‘
本文介绍了一种常见的SQL查询错误:未知列名在where子句中出现,通常是由于数据类型不匹配导致。通过一个具体示例,展示如何从JSP页面正确地将字符串类型的参数传递给SQL查询,避免因类型错误而引发的问题。
67





