对MySQL自增字段的操作

插入数据

首先我们建表如下:

 

index.jsp

<%@page contentType="text/html;charset=gb2312" import="java.sql.*"%>

<HTML>

       <HEAD>

              <TITLE>JDBC连接</TITLE>

       </HEAD>

       <BODY>

       <%

              String DBDRIVER = "com.mysql.jdbc.Driver" ;

              String DBURL = "jdbc:mysql://localhost:3306/test" ;

              String DBUSER = "niexin" ;

              String DBPASSWORD = "niexin" ;

              String sql = null ;

              Connection conn = null ;

              Statement stmt = null ;

       %>

       <%

              try

              {

                     Class.forName(DBDRIVER) ;

                     conn = DriverManager.getConnection(DBURL,DBUSER,DBPASSWORD) ;

                     stmt = conn.createStatement() ;

                     sql = "insert into inctable (name) values ('张三')" ;

                     stmt.executeUpdate(sql) ;

                     out.println("数据库插入成功");

                     stmt.close() ;

                     conn.close() ;

              }

              catch(Exception e)

              {

                     out.println(e) ;

              }

       %>

       </BODY>

</HTML>

 

我们在写SQL插入语句时,应当省略掉自增字段。

取得自增字段当前值

index.jsp

<%@page contentType="text/html;charset=gb2312" import="java.sql.*"%>

<HTML>

       <HEAD>

              <TITLE>JDBC连接</TITLE>

       </HEAD>

       <BODY>

       <%

              String DBDRIVER = "com.mysql.jdbc.Driver" ;

              String DBURL = "jdbc:mysql://localhost:3306/test" ;

              String DBUSER = "niexin" ;

              String DBPASSWORD = "niexin" ;

              String sql = null ;

              Connection conn = null ;

              Statement stmt = null ;

              ResultSet rs = null ;

       %>

       <%

              try

              {

                     Class.forName(DBDRIVER) ;

                     conn = DriverManager.getConnection(DBURL,DBUSER,DBPASSWORD) ;

                     stmt = conn.createStatement() ;

                     sql = "insert into inctable (name) values ('张三')" ;

                     stmt.executeUpdate(sql) ;

                     out.println("数据库插入成功");

                     int autoIncKey = -1;

                     rs = stmt.getGeneratedKeys();

                     if (rs.next()) {

                 autoIncKey = rs.getInt(1);

            }

                     rs.close();

                     out.println("自增字段当前值:"+ autoIncKey);

                     stmt.close() ;

                     conn.close() ;

              }

              catch(Exception e)

              {

                     out.println(e) ;

              }

       %>

       </BODY>

</HTML>

 

    注意:如果这里使用的是PreparedStatement对象,getGeneratedKeys()方法同样适用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值