gpt4 book ai didi

java - SQL查询中是否需要单引号?具体来说,Java JDBC 查询

转载 作者:行者123 更新时间:2023-11-29 03:03:15 24 4
gpt4 key购买 nike

我正在使用 MySQL Workbench 作为我的服务器的 GUI。

查看 Workbench 执行的一些查询,它似乎单引号了我的数据库名称和列名称,即

"INSERT INTO `mydb`.`weather_data`(`dateTime`,`hourlyTemp`,`dewPoint`,`windSpeed`,`relHum`) VALUES(?,?,?,?,?)";

现在,我正在使用 JDBC (Java) 进行自动查询。我使用的字符串是:

String insertTableSQL = "INSERT INTO `mydb`.`weather_data`" 
+ "(`dateTime`,`hourlyTemp`,`dewPoint`,`windSpeed`,`relHum`) VALUES"
+ "(?,?,?,?,?)";

我的问题是,我应该使用单引号吗?我应该删除它们吗?有必要吗?

编辑第二个问题:

这是我完整的 preparedStatement();

private static void batchInsertRecordsIntoTable() throws SQLException{
Connection dbConnection = null;
PreparedStatement preparedStatement = null;

String insertTableSQL = "INSERT INTO `mydb`.`weather_data`"
+ "(`dateTime`,`hourlyTemp`,`dewPoint`,`windSpeed`,`relHum`) VALUES"
+ "(?,?,?,?,?)";
try{
dbConnection = getDBConnection();
preparedStatement = dbConnection.prepareStatement(insertTableSQL);

dbConnection.setAutoCommit(false);

preparedStatement.setString(1, "1111111111"); // dateTime
preparedStatement.setInt(2, 12); // hourlyTemp
preparedStatement.setInt(3, 12); // dewPoint
preparedStatement.setInt(4, 12); //windSpped
preparedStatement.setInt(5, 12); //relHum
preparedStatement.addBatch();

preparedStatement.executeBatch();

dbConnection.commit();

System.out.println("Record was inserted into mydb weather_data");

}catch(SQLException e){
System.out.println(e.getMessage());
dbConnection.rollback();
}finally{
if(preparedStatement!=null){
preparedStatement.close();
}
if(dbConnection!=null){
dbConnection.close();
}
}
}

由于某种原因,尽管没有连接错误,但数据没有被附加/添加/插入到我的数据库中。

最佳答案

不是必需的,但非常好。你让解析器和任何人阅读它,什么是表、列、字符串。您应该继续使用它们。不使用它们只会伤害你,使用它们只会给你的文件增加额外的字节。

关于java - SQL查询中是否需要单引号?具体来说,Java JDBC 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19869083/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com