java往数据库sql中添加数据,怎么让主键自增

StringinsertCondition="INSERTINTOdingdan(id,sname,snumber,rname,rnumber,address,beizh... String insertCondition="INSERT INTO dingdan(id,sname,snumber,rname,rnumber,address,beizhu,cdate) VALUES (null,?,?,?,?,?,?,?)";
sql=con.prepareStatement(insertCondition);
sql.setString(1,handleString(sname));
sql.setString(2,handleString(snumber));
sql.setString(3,handleString(rname));
sql.setString(4,handleString(rnumber));
sql.setString(5,handleString(address));
sql.setString(6,handleString(beizhu));
sql.setTimestamp(7,new Timestamp(System.currentTimeMillis())); //获取系统当前时间
int m=sql.executeUpdate();
这样写对不对?第一列id是主键,想让它自动生成。然后从第二列sname开始插入, sql.setString(1,handleString(sname));这儿的“1”对吗?应该用“2”吗?那也不行啊
展开
 我来答
百度网友8d17b9d
推荐于2017-09-14 · TA获得超过280个赞
知道小有建树答主
回答量:161
采纳率:100%
帮助的人:181万
展开全部

首先,你如果想把id列设置为自增列,直接在数据库中将其设置为自增列就可以了。

然后,等你添加数据的时候使用如下的语句:

INSERT INTO dingdan(sname,snumber,rname,rnumber,address,beizhu,cdate) VALUES (?,?,?,?,?,?,?)

数据库会自动帮你添加id列的值。 所以,你的这个代码可以改为:

String insertCondition="INSERT INTO dingdan(sname,snumber,rname,rnumber,address,beizhu,cdate) VALUES (?,?,?,?,?,?,?)";
sql=con.prepareStatement(insertCondition);
sql.setString(1,handleString(sname));
sql.setString(2,handleString(snumber));
sql.setString(3,handleString(rname));
sql.setString(4,handleString(rnumber));   
sql.setString(5,handleString(address));
sql.setString(6,handleString(beizhu));
sql.setTimestamp(7,new Timestamp(System.currentTimeMillis())); //获取系统当前时间
int m=sql.executeUpdate();
追问

还有别的方法吗               

              

            

百度网友21de46a
2014-06-26 · 超过12用户采纳过TA的回答
知道答主
回答量:47
采纳率:0%
帮助的人:22万
展开全部
设计表的时候 加一个自增的关键字就可以了。。Mysql是 auto_increment HSql和SQL Server 是indentity 然后插入数据时不用添加Id了 自动增加
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式