4 回答

TA貢獻1936條經驗 獲得超7個贊
2種解決辦法
1.修改你的數據庫表,將ID設為自增長,注:只有主鍵才可以設置為自增長
例:CREATE TABLE `message ` (`id` INT(8) NOT NULL AUTO_INCREMENT, PRIMARY KEY(`id`));
2.代碼中進行處理
Statement ps;
ResultSet rs;
int id = 0;
..................
String sql="select max(id) as id from message";
rs = ps.executeQuery(sql);//查詢出最大ID
if(rs.next){//如果有ID,原有ID+1
id = rs.getInt("id")+1;
}else{//否則 ID 初始為0
id = 0;
}
//下面接你寫的代碼就OK了
PreparedStatement ps;
String sql="insert message (id,name,msg) value(?,?,?)"
ps.setString(1,id);
ps.setString(2,name);
ps.setString(3,msg);

TA貢獻1785條經驗 獲得超8個贊
PreparedStatement ps;
String sql="insert message (id,name,msg) value(?,?,?)"
ps.setString(2,name);
ps.setString(3,msg);
主鍵的數據不用賦值,數據庫會自動給你一個值的。
添加回答
舉報