更新: 因此,根据建议,我将所有列名称更改为字符串并添加了准备好的语句-
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/minor","root","alphabet")) {
Statement st = conn.createStatement();
PreparedStatement stmt= conn.prepareStatement("select * FROM ? where name=? ;");
PreparedStatement stmt2= conn.prepareStatement("select * FROM ? where name=? ;");
stmt.setString(1, day_1);
stmt.setString(2, faculty1);
stmt2.setString(1,day_1);
stmt2.setString(2, faculty2);
ResultSet rs=stmt.executeQuery();
ResultSet rs1= stmt.executeQuery();
从输入屏幕检索日期和教师,查询在 mysql 工作台中工作得很好,但是当我尝试从 Java 运行它时,“select”关键字丢失了,请参阅以下错误 - 教师 1、教师 2 是从以下内容中检索到的: 数据库看起来像这样——
最佳答案
- 我建议使用PreparedStatement而不是Statement,这样至少你可以绑定(bind)你的变量;
- 您查询
select from time_interval from day_selected
不正确,我认为它不会在任何地方执行,您需要在 select 和 from 之间有一些东西,而不是在一个语句中包含两个 from 。
关于java - 更新: Problem with executing SQL query from Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55577337/