这个问题在这里已有答案:
请不要将我的问题标记为重复我尝试了其他解决方案,但他们无法正常工作。我正在尝试进行验证,如果表不存在则创建。
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();
}
}
来自javadocs:
“(1)SQL数据操作语言(DML)语句的行数或(2)0表示不返回任何内容的SQL语句”
https://docs.oracle.com/javase/7/docs/api/java/sql/Statement.html#executeUpdate(java.lang.String)
这意味着无论表是否存在,您的DDL语句总是返回0。
当您使用executeupdate创建表时,您没有执行INSERT或UPDATE,因此没有行受到影响而得到“0”
此链接可能有用: -