Javaでデータに登録する度にIDを振る
下記のコードはSQLにテーブルを作成し、データを登録するコードですが
コードを少し足すことで、ついでにIDを自動的に割り振る方法はあるのでしょうか?
import java.sql.*;
public class Sample1
{
public static void main(String args[])
{
try{
//接続の準備
String url = "jdbc:derby:cardb;create=true";
String usr = "";
String pw = "";
//データベースへの接続
Connection cn = DriverManager.getConnection(url, usr, pw);
//問い合わせの準備
DatabaseMetaData dm = cn.getMetaData();
ResultSet tb = dm.getTables(null, null, "車表", null);
Statement st = cn.createStatement();
String qry1 = "CREATE TABLE 車表(番号 int, 名前 varchar(50))";
String[] qry2 = {"INSERT INTO 車表 VALUES ('伊藤', '男性')",
"INSERT INTO 車表 VALUES ('佐藤', '女性')",
"INSERT INTO 車表 VALUES ('山田', '男性')"};
String qry3 = "SELECT * FROM 車表";
if(!tb.next()){
st.executeUpdate(qry1);
for(int i=0; i<qry2.length; i++){
st.executeUpdate(qry2[i]);
}
}
//問い合わせ
ResultSet rs = st.executeQuery(qry3);
//データの取得
ResultSetMetaData rm = rs.getMetaData();
int cnum = rm.getColumnCount();
while(rs.next()){
for(int i=1; i<=cnum; i++){
System.out.print(rm.getColumnName(i) + ":"+ rs.getObject(i) + " ");
}
System.out.println("");
}
//接続のクローズ
rs.close();
st.close();
cn.close();
}
catch(Exception e){
e.printStackTrace();
}
}
000001 伊藤 男性
000002 佐藤 女性
000003 山田 男性