4 回答
TA贡献1936条经验 获得超6个赞
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);
主键的数据不用赋值,数据库会自动给你一个值的。
添加回答
举报