java - 在java中运行时创建2个sql表
问题描述
我是 JDBC 的新手,我正在尝试制作试用程序,程序本身将在其中创建一个数据库和 2 个表。但是,它总是以数据库中只有 1 个表结束。
Connection con = null;
Connection con1 = null;
Statement statement = null;
Statement statement1 = null;
try{
//Class.forName("com.mysql.cj.jdbc.Driver");
con = DriverManager.getConnection("jdbc:mysql://localhost", "root", "");
con1 = DriverManager.getConnection("jdbc:mysql://localhost", "root", "");
statement = con.createStatement();
statement1 = con1.createStatement();
String sql = "create database user";
statement.execute(sql);
statement.execute("use user");
String firstTable = "create table login" + "(username varchar(255) not null primary key,"
+ "password varchar(255) not null" + ")";
statement.execute(firstTable);
statement1.execute("create table userInfo" +
"(ID int not null,"
+ "firstName varchar(255) not null,"
+ "lastName varchar (255) not null,"
+ "middle varchar(255),"
+ "birth_Date varchar(255) not null,"
+ "gender varchar(6) not null,"
+ "e_Mail varchar(255) not null,"
+ "c_Group varchar(255) not null,"
+ "position varchar(255) not null" + ")");
}
catch(SQLException w){
}
finally{
con.close();
con1.close();
}
我也只用一个语句和这样的 con 进行了尝试,但效果不佳
Connection con = null;
Statement statement = null;
try{
con = DriverManager.getConnection("jdbc:mysql://localhost", "root", "");
statement = con.createStatement();
String sql = "create database user";
statement.execute(sql);
statement.execute("use user");
statement.executeUpdate("create table login" + "(username varchar(255) not null primary key,"
+ "password varchar(255) not null" + ")");
statement.executeUpdate("create table userInfo" +
"(ID int not null,"
+ "firstName varchar(255) not null,"
+ "lastName varchar (255) not null,"
+ "middle varchar(255),"
+ "birth_Date varchar(255) not null,"
+ "gender varchar(6) not null,"
+ "e_Mail varchar(255) not null,"
+ "c_Group varchar(255) not null,"
+ "position varchar(255) not null)");
con.close();
}
catch(SQLException w){
}
finally{
con.close()
}
解决方案
感谢您建议在 catch 块上打印一些东西Johnny Mopp我发现为什么我没有得到我想要的结果以及错误在哪里。我不确定这是否是正确的方法,但我是这样做的:
Connection con = null;
Connection con1 = null;
Statement statement = null;
Statement statement1 = null;
try{
con = DriverManager.getConnection("jdbc:mysql://localhost", "root", "");
statement = con.createStatement();
String sql = "create database user";
statement.execute(sql);
statement.execute("use user");
String firstTable = "create table login" + "(username varchar(255) not null primary key,"
+ "password varchar(255) not null" + ")";
statement.execute(firstTable);
con1 = DriverManager.getConnection("jdbc:mysql://localhost/user", "root", "");
statement1 = con1.createStatement();
statement1.execute("create table userInfo" +
"(ID int not null,"
+ "firstName varchar(255) not null,"
+ "lastName varchar (255) not null,"
+ "middle varchar(255),"
+ "birth_Date varchar(255) not null,"
+ "gender varchar(6) not null,"
+ "e_Mail varchar(255) not null,"
+ "c_Group varchar(255) not null,"
+ "position varchar(255) not null" + ")");
}
catch(SQLException w){
w.printStackTrace();
}
finally{
con.close();
con1.close();
}
也谢谢你
推荐阅读
- salesforce - 来自地址的 Salesforce 个人电子邮件结果 动态发件人资料
- angular - 错误类型错误:_co.userData 在角度 7 中未定义,当我尝试使用属性绑定作为值时
- android - 工具栏下的 AppBarLayout
- c - 声明函数中的枚举
- r - 在继续下一个问题之前设置学习者:教程问题的尝试次数?
- ibm-cloud - 出现错误:无法在 Watson Assistant 中获取访问令牌?
- python - 如何让 PYGAME 窗口出现在我的显示器左上角?
- css - CSS中相同标签的不同属性
- mongodb - 带有外域_id的mongodb $lookup
- git - 我应该如何删除存储在 vscode 中的凭据