java - java中的preparedStatement SQL错误

标签 java mysql sql jdbc prepared-statement

<分区>

执行以下代码时出现错误。

preparedStatement = connection.prepareStatement("select * from fpp_alarm"+ "where id = ? ");
preparedStatement.setString(1, id);   //string id = "4"
ResultSet resultSet = preparedStatement.executeQuery();

错误是:

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 '= '4'' at line 1.

我在这里看到了类似的问题:preparedStatement SQL Error

但是,我在我的代码中找不到 mysql 的“保留字”。在mysql中执行这个查询也是对的。

最佳答案

连接时,您会看到 SQL 语句中的 fpp_alarmwhere 之间没有空格。

select * from fpp_alarmwhere id = ? 

在您的 SQL 文字字符串中添加该空格,在 fpp_alarm 之后或 where 之前。

关于java - java中的preparedStatement SQL错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25979642/

相关文章:

mysql - MYSQL中如何判断两个日期之间的年月差?

java - JTree 未显示在 JScrollPane 上

python - SQLAlchemy - 将一个类映射到两个表

java - 无法执行shell脚本

MySQL : Left outer join sql takes long time

php - 在php中读取.dbf(Foxpro数据库文件)

mysql - 计算每天的平均列值

sql - 尝试将动态 SQL 子查询结果放入 SQL-Server 2008 临时表而不预先定义临时表

Java 8 -- 如何使用 xsd :duration 计算从现在开始的(毫秒)秒

java - 多个线程的并行执行和终止