主要查询:
PreparedStatement pstmt = con.prepareStatement("DELETE FROM employee WHERE eno = 1");
工作:通过连接
PreparedStatement pstmt = con.prepareStatement("DELETE FROM "+tn+" WHERE "+cn+" = ?");
不工作:使用位置参数时
PreparedStatement pstmt = con.prepareStatement("DELETE FROM ? WHERE ? = ?");
我们是否可以仅使用位置参数来处理表数据?
为什么我无法使用table_name,column_name等?
答案 0 :(得分:0)
准备好的声明的目的是让数据库准备一个执行计划(即计算需要完成的工作,使用哪些表,索引,连接策略,算法等),然后执行该计划或多次使用各种参数。
如果数据库甚至不知道它必须从哪个表中删除,根据哪个标准,它就无法准备执行计划。