如何解决带有预处理语句的 java.sql.SQLSyntaxErrorException
我刚刚开始学习 MysqL,我现在正在尝试学习准备好的语句。当我使用它们时,我收到此错误 java.sql.sqlSyntaxErrorException
。有人能告诉我哪里语法错误吗?谢谢。这是我的代码:
public class DBConnector {
private Statement statement;
private ResultSet result;
private PreparedStatement preparedStatement;
public void createDB() {
try {
sql = "CREATE DATABASE IF NOT EXISTS ?";
tableName = "test_name";
preparedStatement = connection.prepareStatement(sql);
preparedStatement.setString(1,tableName);
int myResult = preparedStatement.executeUpdate();
if(myResult == 1){
System.out.println("Database successfully created.");
}else{
System.out.println("Database with that name already exists. Please try again with different name.");
createDB();
}
}catch (sqlException e) {
System.out.println("Database creation Failed.");
e.printstacktrace();
}
}
}
解决方法
我们无法在查询参数中绑定数据库名称。
Statement stmt=con.createStatement();
int rs=stmt.executeUpdate("CREATE DATABASE dbname");
这样试试,Database就创建了。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。