日期:2014-05-17  浏览次数:20952 次

JSP中如何让数据库字段值自动加1
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没有赋值。怎么样写才对呢

------解决方案--------------------
可先在user表中取出id=‘uid’时postnum的值(postnum),newpostnum=postnum+1,然后“String sq="UPDATE user SET postnum=newpostnum WHERE id="+uid; ”这样应该没问题了,可以试试。
------解决方案--------------------
让字段值 自动加一不可以吗? 或者每次插入的时候查找一下数据库中字段的最大值 然后加一 再插入。。
------解决方案--------------------
先确认下:postnum是表里面的字段名么?如果是的话,你的SQL是没问题的,可以完成自增运算。

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


------解决方案--------------------
楼主请尝试下
Java code

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

------解决方案--------------------
自动增长不行吗~

------解决方案--------------------
到数据库设置表的主键的策略 设置为自动增长
------解决方案--------------------
1:主键设置为自动增长。
2:select max(id) from yourtable
取得最大值 +1
------解决方案--------------------
数据库里直接设置。