MySql Prepared Statement来检查特定的表JAVA

时间:2015-01-06 13:32:53

标签: java mysql prepared-statement

我想知道是否有办法在以下语句中选择具有用户输入的表:

myStmt = db.myConn.prepareStatement("select * from Rooms where "
                + "idRooms = ?");
        myStmt.setInt(1, roomNum);
        myRs = myStmt.executeQuery();

是否有可能在select * from =? where idRooms = ?之类的内容中根据用户输入选择Rooms准备好的语句?

myStmt.setString(1, Room);
mysStmt.setInt(2, roomID);

由于

2 个答案:

答案 0 :(得分:1)

无法将表名添加为参数。 您只需创建一个包含构造查询的字符串,如下所示:

String query = "select * from " + userParamVariable + " where idRooms = ?"

答案 1 :(得分:0)

我猜你是通过拆分管理你的表,但遗憾的是PreparedStatement不支持它,你可以用String.format()方法手动替换表名。