为了账号安全,请及时绑定邮箱和手机立即绑定

如何在MYSQL插数据 ID自增

如何在MYSQL插数据 ID自增

HUWWW 2019-05-25 13:15:24
一个insert方法PreparedStatement ps;String sql="insert message (id,name,msg) value(?,?,?)"ps.setString(1,); --------------IDps.setString(2,name);ps.setString(3,msg);该怎样写能让ID字段 自增?===========================================没比的意思,不过请务必测试过了再回答这问吧并不怎么好。。。关于MYSQL自带的自蹭问题我不要这个功能有3条数据 编号1 2 3我清空在插 就是4起步了
查看完整描述

4 回答

?
LEATH

TA贡献1936条经验 获得超6个赞

2种解决办法

1.修改你的数据库表,将ID设为自增长,注:只有主键才可以设置为自增长
例:CREATE TABLE `message ` (`idINT(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);





查看完整回答
反对 回复 2019-05-26
?
慕的地10843

TA贡献1785条经验 获得超8个赞

PreparedStatement ps;
String sql="insert message (id,name,msg) value(?,?,?)"

ps.setString(2,name);
ps.setString(3,msg);

主键的数据不用赋值,数据库会自动给你一个值的。



查看完整回答
反对 回复 2019-05-26
?
HUH函数

TA贡献1836条经验 获得超4个赞

设置ID auto_increment
PreparedStatement ps;
String sql="insert message (name,msg) value(?,?)"

ps.setString(0,name);
ps.setString(1,msg);

查看完整回答
反对 回复 2019-05-26
  • 4 回答
  • 0 关注
  • 1588 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信