无法执行";例如;java中的查询

无法执行";例如;java中的查询,java,mysql,swing,Java,Mysql,Swing,在MYSQL数据库中,我有一个表名搜索。 当我编写这个查询时,它成功地执行了 "select * from 'search' where path like %overview%" 但当我用java编写它时: String query="SELECT path FROM `search` WHERE path like %?% "; java.sql.PreparedStatement st=con.prepareStatement(query); st.setString(1,textFie

在MYSQL数据库中,我有一个表名搜索。 当我编写这个查询时,它成功地执行了

"select * from 'search' where path like %overview%"
但当我用java编写它时:

String query="SELECT path FROM `search` WHERE path like %?% ";
java.sql.PreparedStatement st=con.prepareStatement(query);
st.setString(1,textField.getText() );
ResultSet rs=st.executeQuery();
它不工作并显示错误:

com.mysql.jdbc.exception.jdbc4.MySQLSystaxErrorException:您的sql语法有错误;查看与Mysql服务器版本对应的手册,以了解第1行“%”概述“%”附近要使用的正确语法

您可以尝试上面的代码


您可以尝试上面的代码

百分号是文字,如果您想在SQL文本中包含这些符号,并让MySQL将它们添加到传入的值中,您可以执行以下操作:

String query="SELECT path FROM `search` WHERE path LIKE CONCAT('%',?,'%')";
另一种方法是从SQL文本语句中删除百分号

String query="SELECT path FROM `search` WHERE path LIKE ?";

然后在您提供的值前面加上/附加百分比字符。

百分比符号是文字,如果您想在SQL文本中包含这些符号,并让MySQL将它们添加到传入的值中,您可以执行以下操作:

String query="SELECT path FROM `search` WHERE path LIKE CONCAT('%',?,'%')";
另一种方法是从SQL文本语句中删除百分号

String query="SELECT path FROM `search` WHERE path LIKE ?";

然后在您提供的值前添加/附加百分比字符。

什么错误?为什么用严肃的口音而不是单引号呢?我没有10个名声,所以我不能用它来添加图片,所以我需要写下这个错误:你通常会添加一个堆栈跟踪作为文本,而不是图片。此链接将可用错误为:com.mysql.jdbc.exception.jdbc4.MySQLSystaxErrorException:您在sql语法中有错误;请查看与Mysql服务器版本对应的手册,以了解第1行“%”概述“%”附近要使用的正确语法。出现了什么错误?为什么用严肃的口音而不是单引号呢?我没有10个名声,所以我不能用它来添加图片,所以我需要写下这个错误:你通常会添加一个堆栈跟踪作为文本,而不是图片。此链接将可用错误为:com.mysql.jdbc.exception.jdbc4.MySQLSystaxErrorException:您在sql语法中有错误;检查与Mysql服务器版本对应的手册,以获取第1行“%”概述“%”附近要使用的正确语法。