java - 当语法正确时,LIKE 在 MYSQL 中不起作用

标签 java mysql sql

<分区>

public ResultSet getResourcesById(String id, String type)
{
    try {
        conn = connect();
        selectStatement = "SELECT * FROM " + type + "WHERE ID LIKE ?";
        preparedStatement = conn.prepareStatement(selectStatement);
        preparedStatement.setString(1, "%ba%");
        res = preparedStatement.executeQuery();
        return res;

    } catch (SQLException ex) {
        Logger.getLogger(CatalogDB.class.getName()).log(Level.SEVERE, null, ex);
    }
    return null;
}

大家好。我在我的系统中使用 java。我试图输入一个任意字符串,但它一直告诉我这个错误:

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: 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 'LIKE '%ba%'' at line 1

有人可以向我解释为什么会出现此错误吗,我很确定我正确地遵循了语法。

最佳答案

错误不在 LIKE 上。您刚刚在 WHERE 子句之前错过了一个额外的空格。

selectStatement = "SELECT * FROM " + type + " WHERE ID LIKE ?";
                                             ^  add space here

关于java - 当语法正确时,LIKE 在 MYSQL 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15811445/

相关文章:

mysql - 如何连接两个表并获取空值

mysql - 数据库设计 : to EAV or not to EAV?

sql - 具有大量子句的 SQL 'LIKE' 语句的效率

mysql - 如何选择所有结果中列值都相同的一组记录

Java Bean :How to fetch the values from List<bean> from another bean

java - GridView:应用程序可能在其主线程上做了太多工作。使用各种图像时跳过 x 帧错误

java - 向 Java BooleanProperty 类添加自定义方法

java - 在 Google map 中查找最近的公交站/中途停留地(公共(public)汽车、火车等)

php - 使用计数器更新 codeigniter 事件记录

sql - 'for' SQL Server 附近的语法不正确