JSP中如何让数据库字段值自动加1

UFOUFO777 2012-05-31 09:13:16
String sq="UPDATE user SET postnum=postnum+1 WHERE id="+uid;
PreparedStatement pstmt=conn.getPstmt(sq);
pstmt.setString(1,postnum);
int flag=pstmt.executeUpdate(sq);
这样些提示错误postnum没有赋值。怎么样写才对呢
...全文
501 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
UFOUFO777 2012-06-18
  • 打赏
  • 举报
回复
String sq="UPDATE user SET postnum=postnum+1 WHERE id="+uid;
try {
Statement stmt = conn.getStmt();
int fla=stmt.executeUpdate(sq);
stmt.close();
这样就OK了
ylovep 2012-06-01
  • 打赏
  • 举报
回复
到数据库设置表的主键的策略 设置为自动增长
  • 打赏
  • 举报
回复
pstmt.setString(1,postnum);这句肯定报错,postnum在字符串里是不会被编译器识别成变量的
fanyuanwaifdl 2012-06-01
  • 打赏
  • 举报
回复
自动增长不行吗~
游一游走一走 2012-06-01
  • 打赏
  • 举报
回复
楼主请尝试下

String sq="UPDATE user SET postnum=postnum+1 WHERE id="+uid;
PreparedStatement pstmt=conn.getPstmt(sq);
int flag=pstmt.executeUpdate(sq);

或者

String sq="UPDATE user SET postnum=?+1 WHERE id="+uid;
PreparedStatement pstmt=conn.getPstmt(sq);
pstmt.setString(1,postnum);
int flag=pstmt.executeUpdate(sq);

MiceRice 2012-06-01
  • 打赏
  • 举报
回复
先确认下:postnum是表里面的字段名么?如果是的话,你的SQL是没问题的,可以完成自增运算。

你这个SQL语句,并不需要任何参数,为啥会有:pstmt.setString(1,postnum) ?这句话应该删除掉。

cxw3152 2012-06-01
  • 打赏
  • 举报
回复
让字段值 自动加一不可以吗? 或者每次插入的时候查找一下数据库中字段的最大值 然后加一 再插入。。
wang7535067 2012-06-01
  • 打赏
  • 举报
回复
数据库里直接设置。
jackson_fighting 2012-06-01
  • 打赏
  • 举报
回复
1:主键设置为自动增长。
2:select max(id) from yourtable
取得最大值 +1
shstalent2011 2012-05-31
  • 打赏
  • 举报
回复
可先在user表中取出id=‘uid’时postnum的值(postnum),newpostnum=postnum+1,然后“String sq="UPDATE user SET postnum=newpostnum WHERE id="+uid; ”这样应该没问题了,可以试试。

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧