但是运行后java.sql.SQLSyntaxErrorException: 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 '% or sex LIKE 'cwy' % or birthday LIKE 'cwy' % or identityID LIKE 'cwy' % or add' at line 1
时间: 2023-10-16 07:42:00 浏览: 97
这个异常信息提示了 SQL 语句存在语法错误,具体错误信息是:在 SQL 语句的第一个 `LIKE` 关键字后面的 `%` 符号前面缺少一个空格,导致 MySQL 数据库无法正确识别这个 SQL 语句。因此,你需要将这个 SQL 语句中的 `%` 符号前面添加一个空格,即将 `? %` 改为 `?%`,或者是将 `LIKE ? %` 改为 `LIKE ?%`,然后再次执行这个 SQL 语句即可。
相关问题
java.sql.SQLSyntaxErrorException: 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 'insert into t_salary_2021_01( DETAILID) values('52dd5ce4a5794573b9b202a2f00788e4' at line 2
java.sql.SQLSyntaxErrorException: 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 '? and password=?' at line 1
这个错误提示通常表示您的SQL语句存在语法错误。根据您提供的信息,问题可能出在您的SQL语句中的占位符上。请确保您的SQL语句中有两个占位符(?),并且它们被正确地使用。另外,您还需要确保占位符的顺序与后面传递的参数顺序一致。
另外,如果您使用的是PreparedStatement预编译语句,那么请确保您已经调用了setString等方法来设置占位符的值。例如,您可以像下面这样来设置占位符的值:
```
String sql = "select * from user where username=? and password=?";
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setString(1, "your_username");
pstmt.setString(2, "your_password");
ResultSet rs = pstmt.executeQuery();
```
如果问题依然存在,建议您提供更详细的错误信息以及相关代码,以便更好地定位问题。
阅读全文