Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在动态sql搜索中使用LIKE?_Java_Mysql_Sql_Mysql Workbench - Fatal编程技术网

Java 如何在动态sql搜索中使用LIKE?

Java 如何在动态sql搜索中使用LIKE?,java,mysql,sql,mysql-workbench,Java,Mysql,Sql,Mysql Workbench,我正在尝试进行不区分大小写的动态搜索,但结果是参数索引超出范围(1>参数数,即0) 当您当时调用setString()api时,请使用表达式 对于不区分大小写的搜索,您必须在like删除单个引号之前添加COLLATE UTF8\u GENERAL\u CI。它删除了错误,但返回null。仍然不能区分大小写search@Untitled我已经更新了我对案例不敏感的回答serach@atishshimpi这会导致错误;com.mysql.jdbc.exceptions.jdbc4.MySQLSynt

我正在尝试进行不区分大小写的动态搜索,但结果是参数索引超出范围(1>参数数,即0)

当您当时调用
setString()
api时,请使用表达式


对于不区分大小写的搜索,您必须在like

删除单个引号之前添加
COLLATE UTF8\u GENERAL\u CI
。它删除了错误,但返回null。仍然不能区分大小写search@Untitled我已经更新了我对案例不敏感的回答serach@atishshimpi这会导致错误;com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:排序规则“UTF8\u GENERAL\u CI”对字符集“latin1”无效
     java.sql.PreparedStatement preStatement = connect.prepareStatement
                            "SELECT word1 from words WHERE word2 like '%?%'");
     preStatement.setString(1, word);
     ResultSet rs = preStatement.executeQuery();
java.sql.PreparedStatement preStatement = connect.prepareStatement
                            "SELECT word1 from words WHERE word2 COLLATE UTF8_GENERAL_CI like '?'");
preStatement.setString(1, "%"+word+"%");
ResultSet rs = preStatement.executeQuery();