想要为我的代码添加验证,如果 table 不存在,它应该在 java 中创建新的 table

Want to add validation to my code , if table doesn't exist it should create the new table in java

请不要将我的问题标记为重复我尝试了其他解决方案,但它们没有用。 我正在尝试进行验证,如果 table 不存在则创建。

void checkCreateMeth()
    {
        try{
        System.out.println("Implementing the functionality of create table if not exist or not.");
        Class.forName(JDBC_Driver);
        con=DriverManager.getConnection(DB_URL, user, pass);
        stmt=con.createStatement();
        String sql="CREATE TABLE IF NOT EXISTS VGRWER(name varchar(10),stream varchar(10))";
            int rs=stmt.executeUpdate(sql);
            System.out.println("Value of rs is="+rs);
        }catch(Exception e)
        {
            e.printStackTrace();                         
        }
    }
  1. 首先我使用了 exexuteQuery() 它给出了错误 “无法发布数据 使用 executeQuery()

  2. 的操作语句
  3. 其次,我尝试了 executeUpdate() ,它在 table 时返回“0” 现存的。当我提供 table_name 时它返回相同的值 这是不存在的。

当您使用 executeupdate 创建一个 table 时,您没有执行 INSERT 或 UPDATE,因此您得到“0”,因为没有行受到影响

这个link可能有用:-

executeUpdate() returns zero despite correct execution

来自 javadocs :

"either (1) the row count for SQL Data Manipulation Language (DML) statements or (2) 0 for SQL statements that return nothing"

https://docs.oracle.com/javase/7/docs/api/java/sql/Statement.html#executeUpdate(java.lang.String)

这意味着无论 table 是否存在,您的 DDL 语句总是 return 0。