我正在尝试在我的Mysql数据库中插入一些东西,该数据库有一个名称以“\
”结尾的表。它的名字是'abc\
'。
public static void main(String[] args) throws ClassNotFoundException{
try {
Class.forName("com.mysql.jdbc.Driver");
Connection master = DriverManager.getConnection($URL,$USR,$PWD);
String st = "insert into `abc\\` (`pad`,`c`,`k`,`id`) values(?,?,?,?)";
PreparedStatement pstmt = master.prepareStatement(st);
pstmt.setInt(1, 10);
pstmt.setInt(2, 1);
pstmt.setString(3, "1");
pstmt.setString(4, "2");
pstmt.execute();
master.close();
}catch(SQLException ex){
ex.printStackTrace();
}
但它不起作用,问题是:
java.sql.SQLException: Parameter index out of range (1 > number of parameters, which is 0).
但是,表的名称是'a\bc
',其反斜杠不是最后一个字符,我的程序效果很好。
任何人都可以帮我解决这个问题吗?非常感谢。
答案 0 :(得分:0)
正在使用Statement
。
public static void main(String[] args) throws ClassNotFoundException,
SQLException {
Class.forName("com.mysql.jdbc.Driver");
Connection con = (Connection) DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "password");
String st = "insert into `abc\\` (`pad`,`c`,`k`,`d`) values(10,11,'5','6')";
Statement stmt = (Statement) con.createStatement();
stmt.execute(st);
con.close();
}