使用H2时,当我尝试使用第一个元素编写一行时,我收到此错误 ABC和第二个是[C @ 26afa68a
Syntax error in SQL statement "INSERT INTO USER VALUES(ABC,[[*]C@F4D5BC9) " expected "), DEFAULT, NOT, EXISTS, SELECT, FROM"; SQL statement:INSERT INTO user VALUES(abc,[C@f4d5bc9) [42001-167]
我不知道是否有办法让H2接受特殊字符,但知道如何解决这个问题会很棒。
谢谢!
答案 0 :(得分:3)
您应该使用PreparedStatement:
PreparedStatement prep = conn.prepareStatement("INSERT INTO USER VALUES(?, ?)");
prep.setString(1, "ABC");
prep.setString(2, "[C@f4d5bc9");
prep.executeUpdate();
prep.close();
使用PreparedStatement是首选解决方案,因为这样您就不必转义数据。如果ABC
和/和[C@f4d5bc9
是常量,则可以使用:
Statement stat = conn.createStatement();
stat.executeUpdate("INSERT INTO USER VALUES('ABC', '[C@f4d5bc9');
stat.close();