在JSP页面中写SQL语句是非常容易出错的,我遇到的一种情况(个人感觉比较典型)是更新一条数据时"where"关键字直接跟着前面的数据,没有空格。后来一步一步在控制台上打印一些帮助信息,最终确定出错的地方在哪个地方(具体哪条语句),后来把那个SQL语句用字符串的格式打印出在控制台上,再去MYSQL上执行这条语句,最终找出错误的所在。问题解决!
代码示例:
- //出错的语句
- stmt.executeUpdate("update article set rootid=" + key + "where id=" + key);
- //之后用字符串打印在控制台上
- String sql = "update article set rootid=" + key + "where id=" + key;
- System.out.println(sql);
打印的结果是:
update article set rootid=38where id=38错误提示:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'id=38' at line 1
错误结果:
SQL语句中"where"关键字紧跟前面的信息,必然导致出错