java - 将字符串 ›ÄX%ß=dÜgž=ŒT8ï8L]4C®° 插入 sql 显示错误

标签 java mysql

这是我的代码

key = KeyGenerator.getInstance(algorithm).generateKey();
byte[] keyBytes = key.getEncoded();
String k = new String(keyBytes);

Class.forName("com.mysql.jdbc.Driver");
con = DriverManager.getConnection("jdbc:mysql://localhost:3306/test","root","root");
Statement st = con.createStatement();  
rs = st.executeQuery("select tid from tid");  
while(rs.next())  
{  
    mid = Integer.parseInt(rs.getString(1));
    b = Integer.toString(mid);
    ++mid;
    a = Integer.toString(mid);    
} 
out.println(k);

ps = con.prepareStatement("insert into key values (?,?)");
ps.setString(1,a);
ps.setString(2,k);
ps.executeUpdate();

错误是

javax.servlet.ServletException: 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 'key values ('8','›ÄX%ß=dÜgž=ŒT8ï8L]4C®°')' at line 1

最佳答案

您的问题是 key 是保留字。您应该使用反引号 (`) 对其进行转义。在大多数键盘上,该键与带有波形符 (~) 的键相同。

ps = con.prepareStatement("insert into `key` values (?,?)");

关于java - 将字符串 ›ÄX%ß=dÜgž=ŒT8ï8L]4C®° 插入 sql 显示错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18379861/

相关文章:

java - 阅读 pdf 文件时出现 NoClassDefFoundError

java - React JS中如何将JSON数据转换为XML格式数据并下载文件

php - 我的本地计算机上的 MYsql 错误。但它在现场工作正常

php - MySQLi - 当您有超过 15 个 '?' 和 sisisissssisisiss 的查询时,您如何跟踪?

php - PDOException 语法错误或访问冲突 1142,当创建引用其他 View 的 View 时

java - 无法获取经纬度android

java - Hybris 6 是否使用 hibernate 或者在任何过去的版本中使用过

java - 更新子项时如何更新jpa中双向关系所有者的fk

php - 找不到 Laravel 5 模型类 - hasMany

mysql - 如何将三元(三元)ER 图转换为二进制?